https://issues.dlang.org/show_bug.cgi?id=18846
Manu changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #19 from Manu ---
extern(C++) in D is fraught with perils. When working on a multi-language
program, you really need those symbols and the vtable is super useful to know
everything's in good state.
--
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #18 from Rainer Schuetze ---
I use the demangler supplied by the debugger with flags as they seem to be used
in C++. That doesn't prepend the module name, though.
But looking at the vtable isn't too common and is probably rather special
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #17 from Manu ---
Or if you're looking at a symbol in the watch window let's say, and you step
from D <-> C, and the symbol appears to suddenly change name in the crossing :P
I'm doing a lot of watching vtables as I step back and fourth.
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #16 from Manu ---
Sure, except that it needs to demangle EXACTLY like the MSVC tools, so you
don't see 2 errors from C++ and from D next to eachother and get confused as if
they're different symbols, and then spend minutes figuring out th
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #15 from Rainer Schuetze ---
demangling C++ is easy, helper functions everywhere... ;-)
--
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #14 from Manu ---
I'm noticing C++ symbols in the vtable don't demangle (ie, DMD).
Is there a way to call the C++ demangler that VS uses (to make sure the
demangle is identical)?
--
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #13 from Manu ---
Wow! Works on all my tests!
Thanks again!
I wonder if this feature should be turned on by default now :P
--
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #12 from Rainer Schuetze ---
Next build also works with /INCREMENTAL.
--
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #11 from Manu ---
Well this is all great progress.
This experience is starting to feel pretty tight!
--
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #10 from Rainer Schuetze ---
Ok, I changed hex values to lower letters.
The order of the class view is
[derived type]
__vfptr
base-types
The base types (multiple with interfaces) are part of the "field list" in the
debug info, so a bit
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #9 from Manu ---
Also, another super-minor detail.
In C++, it shows the derived type member at the top, then __vfptr (ie, first
member), then the normal member listing.
In Mago, it's showing __vfptr at the top, then the derived type memb
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #8 from Manu ---
I just noticed a minor issue...
Mago is displaying hex with A-F in CAPS.
VS debugger displays hex with a-f in lower case.
I'm finding it surprisingly jarring when calling in/out of D, because a pointer
that I was just l
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #7 from Manu ---
Haha, oh man. Everything is always so hard! ;)
I turned it off and everything works great!
Sadly, /INCREMENTAL is overwhelmingly common, and also the default... basically
nobody will ever turn that off :/
--
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #6 from Rainer Schuetze ---
The build was ok, I just looked at the class instance before it was
initialized.
I've now added symbol names (no demangling yet). One gotcha: if you are linking
with /INCREMENTAL, the linker relocates symbols
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #5 from Manu ---
Even if we can't see the symbol names, seeing the pointers might help matching
values and confirm function order against C++ code that you can also see in the
debugger.
--
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #4 from Rainer Schuetze ---
It seems I've messed up the defaults between Visual D and mago: you have to
enable it in Tools->Options->Debugger->Mago. I think that being disabled is
actually the better default as the vtable yields no additi
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #3 from Manu ---
I just installed that build.
I can see an item in place of the vtable:
-tclass 0x02D2 Source.Base
+[Source.Derived]0x02D2 Source.Derived
object.Object D0006: Error: Typ
https://issues.dlang.org/show_bug.cgi?id=18846
--- Comment #2 from Manu ---
Right, I've noticed that our pointers don't seem to show symbol names like C++
does... why is that? Is that possible to fix?
The experience should match C++.
--
https://issues.dlang.org/show_bug.cgi?id=18846
Rainer Schuetze changed:
What|Removed |Added
CC||r.sagita...@gmx.de
--- Comment #1 from Rai
20 matches
Mail list logo