Natvis, CV8, dAssocArray
Void-995
void995 at gmail.com
Wed Sep 26 07:45:49 UTC 2018
On Wednesday, 26 September 2018 at 07:37:26 UTC, Rainer Schuetze
wrote:
>
>
> On 25/09/2018 22:08, Void-995 wrote:
>> I almost finished my -gc for Natvis experiment (to use MS C++
>> Debugger from VS Code, fully translating type names from what
>> comes from DMD frontend to valid C++ type name so Natvis
>> works), but then I encountered dAssocArray, which has form of:
>> void* as CodeView structure member, KeyType __key_t and
>> ValueType __val_t as nested types.
>>
>> As for someone who just found about CodeView today: what is
>> nested type, what is the deal with void*, what to do with
>> __key_t and __val_t to get values.
>
> Nested types are types declared in another type, e.g. in C++
>
> struct dAssocArray
> {
> typedef int __key_t;
> typedef long __val_t;
> void* ptr;
> };
>
> The AA data structures are not exposed by the compiler, but the
> mago debugger rebuilds them from these types.
Makes sense. I've tried to move them to "member" but they
obviously did not point anywhere, which is logical if that is
just "typedef". Is there any way to expose real key/values from
backend or get them via some Natvis magic? That's basically only
thing that stops from using MS C/C++ plug-in for debugging from
VS Code. Natvis support may be valuable for Linux and Mac as
well, as they've added minimal support for Natvis to GDB and LLDB
via their plug-in.
More information about the Digitalmars-d-debugger
mailing list