[Lldb-commits] [lldb] [llvm] [lldb][NativePDB] Fix crash in debugger when PDB has bad type index value (PR #166455)
via lldb-commits
lldb-commits at lists.llvm.org
Tue Nov 18 03:35:25 PST 2025
Nerixyz wrote:
> The resulting file can be loaded into the debugger all right (which wasn't the case before) but it can't resolve any address, because it doesn't have any section contributions (that can be confirmed with `llvm-pdbutil dump --section-contribs`).
I'm surprised the debugger can even load the PDB. In my testing, section contributions weren't necessary.
I forgot to mention that this needs another patch - https://github.com/llvm/llvm-project/pull/168211.
The reason LLDB is crashing right now is that the offsets included in symbols from the modules (mainly `S_G/LPROC32`) are incorrect. And that's because the reconstructed symbols from YAML don't include all information. Specifically, `S_INLINESITE` has variable length annotation data, which gets lost and causes it to change size.
`S_G/LPROC32` contains an offset to where the function will end (other records include similar offsets iirc). Now that `S_INLINESITE` has changed size, this is incorrect.
Arguably, we should also handle this gracefully.
https://github.com/llvm/llvm-project/pull/166455
More information about the lldb-commits
mailing list