You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Apr 23, 2024. It is now read-only.
There is very subtle bug in the Windows PDB key generator that caused the pdb checksum list never to be passed to the SymbolStoreKey constructor (one of the closing parentheses is in the wrong place causing pdbChecksums to be passed to the string.Format instead of BuildKey).
Once this was fixed, symbol downloads for Windows PDBs (i.e. Microsoft.Extensions.Hosting.Abstractions.ni.pdb) started failing because ChecksumValidator.cs seems to only handle portable PDBs:
private static uint GetPdbStreamOffset(Stream pdbStream)
{
pdbStream.Position = 0;
using (var reader = new BinaryReader(pdbStream, Encoding.UTF8, leaveOpen: true))
{
pdbStream.Seek(4 + // Signature
2 + // Version Major
2 + // Version Minor
4, // Reserved)
SeekOrigin.Begin);
// skip the version string
uint versionStringSize = reader.ReadUInt32(); <<------- exception
pdbStream.Seek(versionStringSize, SeekOrigin.Current);
The text was updated successfully, but these errors were encountered:
I double checked the VS debugger sources, and VS will ignore checksums when searching for non-portable PDBs. I don't know if symsrv.dll wound up added support, but, at least originally, it also only supported portable PDBs.
There is very subtle bug in the Windows PDB key generator that caused the pdb checksum list never to be passed to the SymbolStoreKey constructor (one of the closing parentheses is in the wrong place causing pdbChecksums to be passed to the string.Format instead of BuildKey).
PDBFileKeyGenerator.cs line 52:
Once this was fixed, symbol downloads for Windows PDBs (i.e. Microsoft.Extensions.Hosting.Abstractions.ni.pdb) started failing because ChecksumValidator.cs seems to only handle portable PDBs:
The text was updated successfully, but these errors were encountered: