-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
Feature Requestdebuggerinvestigate: reproThis issue's repro steps needs to be investigated/confirmedThis issue's repro steps needs to be investigated/confirmed
Description
Hi
First of all thanks for implementing natvis visualization even with GDB, that is a very useful feature.
One pretty limiting shortcoming I found is that the visualization gets broken on Linux when the type of the variable is hidden behind a typedef. An example:
std::vector<int> myVec1(5);
typedef std::vector<int> MyVectorType;
MyVectorType myVec2(10);
Using this natvis declaration:
<Type Name="std::vector<*>">
<DisplayString>{{ size={_M_impl._M_finish - _M_impl._M_start} }}</DisplayString>
<Expand>
<Item Name="[size]" >_M_impl._M_finish - _M_impl._M_start</Item>
<ArrayItems>
<Size>_M_impl._M_finish - _M_impl._M_start</Size>
<ValuePointer>_M_impl._M_start</ValuePointer>
</ArrayItems>
</Expand>
</Type>
In this case myVec1 will have its display string as { size=5 }
while myVec2 will just have {...}
. As it would be a cumbersome to add a new declaration in the natvis for every local typedef that could be used, it would be very useful if the visualizer could find the real type behind the typedef and match it, as Visual Studio does.
Thanks,
Julien
rokups, caesarv6, KindDragon, Trass3r, kruxmeier and 5 moreTrass3rkruxmeier
Metadata
Metadata
Assignees
Labels
Feature Requestdebuggerinvestigate: reproThis issue's repro steps needs to be investigated/confirmedThis issue's repro steps needs to be investigated/confirmed