Описание тега natvis
Visual Studio uses .natvis files to visualize C++ types in debugger. Natvis file format replaces older autoexp.dat in previous versions of Visual Studio.
Visual C++ debugger uses.natvis files get a user friendly visualization of C++ types. Natvis files are new to Visual Studio 2012.
In addition to C++ libraries supplied by Microsoft, some 3-rd party libraries come with Natvis-enabled support, for example eigen C++ library.
The format of the files is XML based. Here is an example of how std::string is displayed:
<Type Name="std::basic_string<char,*>">
<DisplayString Condition="_Myres < _BUF_SIZE">{_Bx._Buf,s}</DisplayString>
<DisplayString Condition="_Myres >= _BUF_SIZE">{_Bx._Ptr,s}</DisplayString>
<StringView Condition="_Myres < _BUF_SIZE">_Bx._Buf,s</StringView>
<StringView Condition="_Myres >= _BUF_SIZE">_Bx._Ptr,s</StringView>
<Expand>
<Item Name="[size]">_Mysize</Item>
<Item Name="[capacity]">_Myres</Item>
<ArrayItems>
<Size>_Mysize</Size>
<ValuePointer Condition="_Myres < _BUF_SIZE">_Bx._Buf</ValuePointer>
<ValuePointer Condition="_Myres >= _BUF_SIZE">_Bx._Ptr</ValuePointer>
</ArrayItems>
</Expand>
</Type>