Handle S_GPROC32 symbols in PDB files

Fixes some incomplete stack traces on Windows.
This commit is contained in:
LemonBoy 2020-01-27 13:10:35 +01:00
parent 518dbd30cb
commit f8e015c85f

View File

@ -412,7 +412,7 @@ fn printSourceAtAddressWindows(
if (prefix.RecordLen < 2)
return error.InvalidDebugInfo;
switch (prefix.RecordKind) {
pdb.SymbolKind.S_LPROC32 => {
.S_LPROC32, .S_GPROC32 => {
const proc_sym = @ptrCast(*pdb.ProcSym, &mod.symbols[symbol_i + @sizeOf(pdb.RecordPrefix)]);
const vaddr_start = coff_section.header.virtual_address + proc_sym.CodeOffset;
const vaddr_end = vaddr_start + proc_sym.CodeSize;