Bug 15609 – Populate vtable in debuginfo

Status
RESOLVED
Resolution
FIXED
Severity
enhancement
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Windows
Creation time
2016-01-26T04:22:19Z
Last change time
2018-09-19T06:50:00Z
Assigned to
No Owner
Creator
Manu

Comments

Comment #0 by turkeyman — 2016-01-26T04:22:19Z
DMD-Win64 emit's debuginfo that looks like: - instance 0x0000022610005360 - libep@sharedptr@ep@RefCounted libep@sharedptr@ep@Safe {...} rc 2 libep@i@icomponent@ep@IComponent {...} + pImpl 0x0000022610021120 + uid "logger0" Notice the 2 entries in the debuginfo with value {...}, those are interfaces. When debugging in visual studio normally, the _vtable ptr is present in the structs, and you can expand it to show the list of functions present in the vtable. DMD seems to write the vtable's as some opaque object, and I can't expand and see what functions are present. Please make the vtable expandable and list the functions in the debuginfo.
Comment #1 by turkeyman — 2018-05-09T23:53:57Z
MSVC emits the vptr as "__vfptr", which is a pointer to an array of void* Please have DMD match this array of void* convention, so we can inspect the state of the vtable in D just the same as in C++?