Closed wilzbach closed 9 years ago
Comment author: Aldo Nunez <aldonunez1@gmail.com>
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.
Attached file: CVAddrSortBug2.txt (text/plain, 5855 bytes) Description: Compares the global symbol address sort tables of passing and failing exes.
Comment author: Walter Bright <bugzilla@digitalmars.com>
This is very strange since windbg.exe is able to find and display the locals.
Comment author: Walter Bright <bugzilla@digitalmars.com>
Comment author: yebblies <yebblies@gmail.com>
Apparently fixed years ago
Note: the issue was created automatically migrated from https://issues.dlang.org
Original bug ID: BZ#4897 From: Aldo Nunez <aldonunez1@gmail.com> Reported version: D2 CC: bugzilla@digitalmars.com, yebblies@gmail.com