Skip to content

Commit 392957e

Browse files
committed
simplify PDB info reading
1 parent cf81e59 commit 392957e

File tree

1 file changed

+10
-18
lines changed

1 file changed

+10
-18
lines changed

NetcodePatcher/CodeGen/CompiledAssemblyFromFile.cs

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,32 +38,24 @@ public byte[] ReadPdb(FileStream peStream)
3838
{
3939
using var peReader = new PEReader(peStream, PEStreamOptions.LeaveOpen);
4040
var assemblyName = Path.GetFileNameWithoutExtension(_assemblyPath);
41-
var pdbPath = $"{assemblyName}.pdb" + ".pdb";
4241

43-
if (File.Exists(pdbPath))
42+
if (!peReader.TryOpenAssociatedPortablePdb(_assemblyPath, File.OpenRead, out var pdbReaderProvider, out var pdbPath))
43+
throw new InvalidDataException(
44+
$"Failed to discover portable debug information for {Path.GetFileName(_assemblyPath)}"
45+
);
46+
47+
var pdbReader = pdbReaderProvider!.GetMetadataReader();
48+
49+
if (pdbPath != _assemblyPath)
4450
{
4551
Log.Information("Found debug info : ({PdbFileName})", Path.GetFileName(pdbPath));
46-
using var srcPdbStream = new FileStream(pdbPath, FileMode.Open, FileAccess.Read);
47-
if (!PdbConverter.IsPortable(srcPdbStream))
48-
throw new ArgumentException("Unsupported debug symbol type - should be 'portable'");
49-
50-
srcPdbStream.Seek(0, SeekOrigin.Begin);
51-
using var pdbDataStream = new MemoryStream();
52-
srcPdbStream.CopyTo(pdbDataStream);
53-
return pdbDataStream.ToArray();
5452
}
55-
56-
if (peReader.TryOpenAssociatedPortablePdb(_assemblyPath, File.OpenRead, out var pdbReaderProvider, out _))
53+
else
5754
{
58-
var pdbReader = pdbReaderProvider!.GetMetadataReader();
59-
6055
Log.Information("Found embedded debug info : ({AssemblyName})", assemblyName);
61-
6256
DebugSymbolsAreEmbedded = true;
63-
return pdbReader.ReadAllBytes();
6457
}
6558

66-
throw new InvalidDataException(
67-
$"Failed to discover portable debug information for {Path.GetFileName(_assemblyPath)}");
59+
return pdbReader.ReadAllBytes();
6860
}
6961
}

0 commit comments

Comments
 (0)