Compares the global symbol address sort tables of passing and failing exes.
text/plain
5855
Comments
Comment #0 by aldonunez1 — 2010-09-19T10:53:31Z
Created attachment 761
Compares the global symbol address sort tables of passing and failing exes.
With DMD release 2.049, no local variables or parameters are listed and no
expressions for the current stack frame can be evaluated, because the entry for
the executable section that the current function is in is missing from the
address sort table for the global symbol subsection in the debug info.
The problem seems to be that the linker is not filling in the information for
executable section 2 in the address sort table for global symbols. Using
CodeView terminology: the third entry for "SegmentTable" and the second entry
for the "OffsetCounts" part of the address sort table are both set to zero.
There is only information for sections 3 and 4.
I haven't checked to see if this problem also affects other executable
sections, the static symbol table (as opposed to the global one), or the symbol
*hash* table in each subsection (as opposed to the address sort table).
Using an older linker version (before 8.00.7), with or without the latest DMD
compiler (2.049) works well.
Comment #1 by bugzilla — 2010-09-19T11:30:56Z
This is very strange since windbg.exe is able to find and display the locals.