What could be wrong or missing in the debug info (using DIBuilder) so that a parameter is displayed well in the “Locals” window but “not found” when typing it in the “Watch” window (and not displayed in the Auto) ?
Probably its information is incorrect in the PDB globals stream
I might be wrong but according to ‘symbolGoesInGlobalsStream’ function in LLD code, S_LOCAL symbols don’t go to global stream right ?
Or did you mean something else ?
Ahh I think you’re right, my mistake.
One idea would be to make the simplest possible function that can reproduce the problem, then use llvm-pdbutil to dump the symbols that you produce for the jitted code, and compare it to the symbols that clang-cl and lld produce when you compile it statically. See if you can see any obvious differences in the resulting codeview records