Bug 4897 – CodeView: No locals or parameters are shown when debugging, because of missing function info

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P2
Component
tools
Product
D
Version
D2
Platform
Other
OS
Windows
Creation time
2010-09-19T10:53:00Z
Last change time
2015-06-09T05:14:39Z
Assigned to
nobody
Creator
aldonunez1

Attachments

IDFilenameSummaryContent-TypeSize
761CVAddrSortBug2.txtCompares the global symbol address sort tables of passing and failing exes.text/plain5855

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.
Comment #2 by bugzilla — 2010-09-19T19:00:35Z
Comment #3 by yebblies — 2012-11-01T01:35:07Z
Apparently fixed years ago