public static AssemblyDebugData ReadDebugData(Stream debugStream) { using (var reader = new AssemblyDebugParser(MetadataReaderProvider.FromPortablePdbStream(debugStream), PdbType.Portable)) { return(reader.GetDebugData()); } }
public static AssemblyDebugData ReadDebugData(Stream peStream, Stream pdbStream) { using (var reader = new AssemblyDebugParser(peStream, pdbStream)) { return reader.GetDebugData(); } }
public static AssemblyDebugData ReadDebugData(Stream?peStream, Stream pdbStream) { if (pdbStream is null) { throw new ArgumentNullException(nameof(pdbStream)); } using var reader = new AssemblyDebugParser(peStream, pdbStream); return(reader.GetDebugData()); }
public AssemblyDebugData? GetDebugData() { var entry = _peReader.ReadDebugDirectory().Where(de => de.Type == DebugDirectoryEntryType.EmbeddedPortablePdb).ToList(); if (entry.Count == 0) // no embedded ppdb { return null; } using var reader = new AssemblyDebugParser(_peReader.ReadEmbeddedPortablePdbDebugDirectoryData(entry[0]), PdbType.Embedded); return reader.GetDebugData(); }
public AssemblyDebugData GetDebugData() { var entry = _peReader.ReadDebugDirectory().Where(de => de.Type == DebugDirectoryEntryType.EmbeddedPortablePdb).ToList(); if (entry.Count == 0) // no embedded ppdb { return(new AssemblyDebugData { HasDebugInfo = false, SymbolKeys = AssemblyDebugParser.GetSymbolKeys(_peReader) }); } using var reader = new AssemblyDebugParser(_peReader, _peReader.ReadEmbeddedPortablePdbDebugDirectoryData(entry[0]), PdbType.Embedded); return(reader.GetDebugData()); }
public static async Task <AssemblyDebugData> ReadDebugData(Stream?peStream, Stream pdbStream) { if (pdbStream is null) { throw new ArgumentNullException(nameof(pdbStream)); } try { using var cts = new CancellationTokenSource(); return(await Task.Run(() => { cts.CancelAfter(TimeSpan.FromSeconds(10)); using var reader = new AssemblyDebugParser(peStream, pdbStream); return reader.GetDebugData(); }, cts.Token).ConfigureAwait(false)); } finally { peStream?.Dispose(); pdbStream.Dispose(); } }
public static AssemblyDebugData ReadDebugData(Stream?peStream, Stream pdbStream) { using var reader = new AssemblyDebugParser(peStream, pdbStream); return(reader.GetDebugData()); }