我一直在尝试为派生变量创建 VS2019 C++ 的 natvis 文件。我已经从 NDK 构建了库,尽管我认为这无关紧要。
这是一个屏幕截图:
你能给我一些关于如何至少开始可视化它的提示吗?到目前为止,我的尝试效果为零。我承认我发现阅读模板样式变量很困难。
我目前的尝试:它源自 std::string (看一下片段)。
我的尝试是:
<Type Name="std::__ndk1::*<char,*>">
<DisplayString Condition="_Mypair._Myval2._Myres < _Mypair._Myval2._BUF_SIZE">{_Mypair._Myval2._Bx._Buf,na}</DisplayString>
<DisplayString Condition="_Mypair._Myval2._Myres >= _Mypair._Myval2._BUF_SIZE">{_Mypair._Myval2._Bx._Ptr,na}</DisplayString>
<StringView Condition="_Mypair._Myval2._Myres < _Mypair._Myval2._BUF_SIZE">_Mypair._Myval2._Bx._Buf,na</StringView>
<StringView Condition="_Mypair._Myval2._Myres >= _Mypair._Myval2._BUF_SIZE">_Mypair._Myval2._Bx._Ptr,na</StringView>
<Expand>
<Item Name="[size]" ExcludeView="simple">_Mypair._Myval2._Mysize</Item>
<Item Name="[capacity]" ExcludeView="simple">_Mypair._Myval2._Myres</Item>
<Item Name="[allocator]" ExcludeView="simple">_Mypair</Item>
<ArrayItems>
<Size>_Mypair._Myval2._Mysize</Size>
<ValuePointer Condition="_Mypair._Myval2._Myres < _Mypair._Myval2._BUF_SIZE">_Mypair._Myval2._Bx._Buf</ValuePointer>
<ValuePointer Condition="_Mypair._Myval2._Myres >= _Mypair._Myval2._BUF_SIZE">_Mypair._Myval2._Bx._Ptr</ValuePointer>
</ArrayItems>
</Expand>
</Type>