4

我正在使用 natvis 系统来简化我的自定义类型的调试。

我有一个简单的数组类型,我希望使其可扩展......

<Type Name="Array&lt;*&gt;">
    <DisplayString>used={m_used} ptr={m_ptr}</DisplayString>
    <Expand>
        <ArrayItems>
            <Size>m_used</Size>
            <ValuePointer>m_ptr</ValuePointer>
        </ArrayItems>    
    </Expand>
</Type>

我已使用 EnableNatvisDebugger=0x0000001 reg 键启用 natvis 解析器调试

当我运行程序并将鼠标悬停在调试器中的数组上时,我得到以下输出

.natvis(25,26): Successfully parsed expression 'm_used' in type context 'Array<int>'.
.natvis(25,32): Successfully parsed expression 'm_ptr' in type context 'Array<int>'.
.natvis(28,15): Successfully parsed expression 'm_used' in type context 'Array<int>'.
.natvis(29,23): Successfully parsed expression 'm_ptr' in type context 'Array<int>'.

不幸的是,可视化器似乎仅在将鼠标悬停在项目上并将它们固定在代码窗口中时才起作用。它在任何监视窗口中都不起作用。此外,子项目扩展也根本不起作用。

我正在运行以下版本的 VS2012

Microsoft Visual Studio Professional 2012
Version 11.0.61030.00 Update 4
Microsoft .NET Framework
Version 4.5.50938

我已禁用“编辑并继续”,并关闭了对托管 C++ 兼容性的支持。我可能应该提到,STL 的可视化也没有工作。

我有点难过。

4

0 回答 0