Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual Studio 2012中用户定义的natvis文件_C++_Visual Studio 2012_Debuggervisualizer_Natvis - Fatal编程技术网

C++ Visual Studio 2012中用户定义的natvis文件

C++ Visual Studio 2012中用户定义的natvis文件,c++,visual-studio-2012,debuggervisualizer,natvis,C++,Visual Studio 2012,Debuggervisualizer,Natvis,我试图在我的项目中使用新的调试可视化工具,但是Visual Studio发生了一些事情,它不再拾取我的natvis文件。我尝试将它们复制到%USERPROFILE%\My Documents\Visual Studio 2012\Visualizers以及\Program Files(x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers,但仍然失败 它在一周前确实起作用了,但从那以后就坏了 我试图修复Vis

我试图在我的项目中使用新的调试可视化工具,但是Visual Studio发生了一些事情,它不再拾取我的natvis文件。我尝试将它们复制到
%USERPROFILE%\My Documents\Visual Studio 2012\Visualizers
以及
\Program Files(x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers
,但仍然失败

它在一周前确实起作用了,但从那以后就坏了

我试图修复VisualStudio,但没用

我尝试在注册表中启用
EnableNatvisDiagnostics
,但在
输出窗口中未收到任何诊断消息

不过,预安装的natvis文件运行良好。因此,我试图从
程序文件(x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers
中删除一个预安装的natvis文件:
stl.natvis
,但Visual Studio仍然显示
vector
,就好像它可以访问
stl.natvis
文件一样。有人知道怎么解决这个问题吗?Visual Studio是否还有其他加载natvis文件的位置?也许有一个注册表项


另外,我尝试使用
ProcessMonitor
查找Visual Studio加载natvis文件的位置,但在
ProcessMonitor
s日志中找不到任何引用。

我终于找到了答案。Natvis可视化工具在启用时不工作。

我也有同样的问题

选中工具->选项->调试->常规->在变量窗口中显示对象的原始结构。
应该禁用它。

我刚刚意识到,如果使用ReSharper测试运行程序调试测试,则不会使用自定义NatVis文件(位于
%USERPROFILE%\Documents\Visual Studio 201x\Visualizers
中的文件)。但是,内置的,例如,for
std::vector
正在工作


如果您定期运行测试(即调试->开始调试,很可能是F5),您的自定义NatVis文件将被加载并使用。

感谢您的发布。这让我非常沮丧,直到我找到了你的答案。谢谢你,你给了我光明!我还有qt5.natvis的问题。不幸的是,这个把戏对我不起作用。如果是这样的话,我想知道是什么魔力使stl即使在“编辑并继续”中也始终启用了自己的natvis?