我正在尝试在我的项目中使用新的调试可视化工具,但Visual Studio发生了一些事情,它不再接收我的natvis文件。我尝试将它们复制到%USERPROFILE%\My Documents\Visual Studio 2012\Visualizers
以及\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers
,但它仍然失败。
它在一周前确实有效,但从那以后出现了一些问题。
我尝试修复Visual Studio但它没有帮助。
我尝试在注册表中启用EnableNatvisDiagnostics
,但我没有在Output window
中收到任何诊断消息。
预先安装的natvis文件工作正常。因此,我尝试从stl.natvis
中删除其中一个预安装的natvis文件:Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers
,但Visual Studio仍然显示vector
,好像它可以访问stl.natvis
文件一样。有人知道如何解决这个问题吗? Visual Studio是否还有其他位置加载natvis文件?也许有一个注册表项?
PS。我尝试使用ProcessMonitor
找出Visual Studio加载natvis文件的位置,但我在ProcessMonitor
的日志中找不到任何引用。
答案 0 :(得分:16)
我终于弄明白了。 3}启用Edit and Continue时,Natvis可视化工具无效。
答案 1 :(得分:4)
我遇到了同样的问题。
检查工具 - >选项 - >调试 - >常规 - > 在变量窗口中显示对象的原始结构。 它应该被禁用。
答案 2 :(得分:0)
我刚刚意识到,如果使用ReSharper Test Runner调试测试,则不会使用自定义NatVis文件(%USERPROFILE%\Documents\Visual Studio 201x\Visualizers
中的文件)。然而,内置的,例如std::vector
正在发挥作用。
如果您定期运行测试(例如调试 - > 开始调试,可能是F5),您的自定义NatVis文件将被加载并使用。