예제 #1
0
        public void LoadSymbolsForModule(Module module)
        {
            Contract.Requires(module != null);
            Contract.Requires(module.Name != null);

            if (NativeMethods.IsUnix())
            {
                return;
            }

            var moduleName = module.Name.ToLower();

            bool createNew;

            lock (symbolReaders)
            {
                createNew = !symbolReaders.ContainsKey(moduleName);
            }

            if (createNew)
            {
                var reader = SymbolReader.FromModule(module, SymbolSearchPath);

                lock (symbolReaders)
                {
                    symbolReaders[moduleName] = reader;
                }
            }
        }
예제 #2
0
        public void LoadSymbolsForModule(RemoteProcess.Module module)
        {
            Contract.Requires(module != null);

            var moduleName = module.Name.ToLower();

            bool createNew;

            lock (symbolReaders)
            {
                createNew = !symbolReaders.ContainsKey(moduleName);
            }

            if (createNew)
            {
                var reader = SymbolReader.FromModule(module, SymbolSearchPath);

                lock (symbolReaders)
                {
                    symbolReaders[moduleName] = reader;
                }
            }
        }