Browse Source

Fix the issue where breakpoints in the source code could not be hit even after generating PDBs and the source project.

pull/3623/head
sonyps5201314 1 month ago
parent
commit
236f31f42b
  1. 6
      ICSharpCode.Decompiler.Tests/PdbGenerationTestRunner.cs
  2. 3
      ICSharpCode.Decompiler/DebugInfo/PortablePdbWriter.cs

6
ICSharpCode.Decompiler.Tests/PdbGenerationTestRunner.cs

@ -64,7 +64,7 @@ namespace ICSharpCode.Decompiler.Tests @@ -64,7 +64,7 @@ namespace ICSharpCode.Decompiler.Tests
using (FileStream pdbStream = File.Open(Path.Combine(TestCasePath, nameof(CustomPdbId) + ".pdb"), FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
pdbStream.SetLength(0);
PortablePdbWriter.WritePdb(moduleDefinition, decompiler, new DecompilerSettings(), pdbStream, noLogo: true, pdbId: expectedPdbId);
PortablePdbWriter.WritePdb(moduleDefinition, decompiler, new DecompilerSettings(), pdbStream, pdbId: expectedPdbId);
pdbStream.Position = 0;
var metadataReader = MetadataReaderProvider.FromPortablePdbStream(pdbStream).GetMetadataReader();
@ -104,7 +104,7 @@ namespace ICSharpCode.Decompiler.Tests @@ -104,7 +104,7 @@ namespace ICSharpCode.Decompiler.Tests
using (FileStream pdbStream = File.Open(Path.Combine(TestCasePath, nameof(ProgressReporting) + ".pdb"), FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
pdbStream.SetLength(0);
PortablePdbWriter.WritePdb(moduleDefinition, decompiler, new DecompilerSettings(), pdbStream, noLogo: true, progress: new TestProgressReporter(reportFunc));
PortablePdbWriter.WritePdb(moduleDefinition, decompiler, new DecompilerSettings(), pdbStream, progress: new TestProgressReporter(reportFunc));
pdbStream.Position = 0;
var metadataReader = MetadataReaderProvider.FromPortablePdbStream(pdbStream).GetMetadataReader();
@ -142,7 +142,7 @@ namespace ICSharpCode.Decompiler.Tests @@ -142,7 +142,7 @@ namespace ICSharpCode.Decompiler.Tests
using (FileStream pdbStream = File.Open(Path.Combine(TestCasePath, testName + ".pdb"), FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
pdbStream.SetLength(0);
PortablePdbWriter.WritePdb(moduleDefinition, decompiler, new DecompilerSettings(), pdbStream, noLogo: true);
PortablePdbWriter.WritePdb(moduleDefinition, decompiler, new DecompilerSettings(), pdbStream);
pdbStream.Position = 0;
using (Stream peStream = File.OpenRead(peFileName))
using (Stream expectedPdbStream = File.OpenRead(pdbFileName))

3
ICSharpCode.Decompiler/DebugInfo/PortablePdbWriter.cs

@ -70,7 +70,6 @@ namespace ICSharpCode.Decompiler.DebugInfo @@ -70,7 +70,6 @@ namespace ICSharpCode.Decompiler.DebugInfo
CSharpDecompiler decompiler,
DecompilerSettings settings,
Stream targetStream,
bool noLogo = false,
BlobContentId? pdbId = null,
IProgress<DecompilationProgress> progress = null)
{
@ -117,8 +116,6 @@ namespace ICSharpCode.Decompiler.DebugInfo @@ -117,8 +116,6 @@ namespace ICSharpCode.Decompiler.DebugInfo
continue;
// Generate source and checksum
if (!noLogo)
syntaxTree.InsertChildAfter(null, new Comment(" PDB and source generated by ICSharpCode.Decompiler " + decompilerVersion.FileVersion), Roles.Comment);
var sourceText = SyntaxTreeToString(syntaxTree, settings);
// Generate sequence points for the syntax tree

Loading…
Cancel
Save