示例#1
0
        public void ReadSymbols(ISymbolReader reader, bool throwIfSymbolsAreNotMaching)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }

            symbol_reader = reader;

            if (!symbol_reader.ProcessDebugHeader(GetDebugHeader()))
            {
                symbol_reader = null;

                if (throwIfSymbolsAreNotMaching)
                {
                    throw new SymbolsNotMatchingException("Symbols were found but are not matching the assembly");
                }

                return;
            }

            if (HasImage && ReadingMode == ReadingMode.Immediate)
            {
                var immediate_reader = new ImmediateModuleReader(Image);
                immediate_reader.ReadSymbols(this);
            }
        }
示例#2
0
        void ProcessDebugHeader()
        {
            if (!HasDebugHeader)
            {
                return;
            }

            if (!symbol_reader.ProcessDebugHeader(GetDebugHeader()))
            {
                throw new InvalidOperationException();
            }
        }
示例#3
0
        void ProcessDebugHeader()
        {
            if (!HasDebugHeader)
            {
                return;
            }

            byte [] header;
            var     directory = GetDebugHeader(out header);

            if (!symbol_reader.ProcessDebugHeader(directory, header))
            {
                throw new InvalidOperationException();
            }
        }
        void ProcessDebugHeader()
        {
            if (Image == null || Image.Debug.IsZero)
            {
                return;
            }

            byte [] header;
            var     directory = Image.GetDebugHeader(out header);

            if (!SymbolReader.ProcessDebugHeader(directory, header))
            {
                throw new InvalidOperationException();
            }
        }
示例#5
0
        public void ReadSymbols(ISymbolReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }

            symbol_reader = reader;

            if (!symbol_reader.ProcessDebugHeader(GetDebugHeader()))
            {
                symbol_reader = null;
                throw new InvalidOperationException();
            }

            if (HasImage && ReadingMode == ReadingMode.Immediate)
            {
                var immediate_reader = new ImmediateModuleReader(Image);
                immediate_reader.ReadSymbols(this);
            }
        }