简体   繁体   English

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

[英]User defined natvis files in Visual Studio 2012

I'm trying to use new debug visualizers in my project, but something happened to Visual Studio and it does not pick up my natvis files anymore. 我正在尝试在我的项目中使用新的调试可视化工具,但是Visual Studio发生了一些事情,它不再获取我的natvis文件。 I tried copying them to %USERPROFILE%\\My Documents\\Visual Studio 2012\\Visualizers as well as to \\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\Packages\\Debugger\\Visualizers but it still fails. 我尝试将它们复制到%USERPROFILE%\\My Documents\\Visual Studio 2012\\Visualizers以及\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\Packages\\Debugger\\Visualizers但它仍然失败。

It did work a week ago, but something has broken since then. 它在一周前确实有效,但从那以后出现了一些问题。

I tried repairing Visual Studio but it didn't help. 我尝试修复Visual Studio但它没有帮助。

I tried enabling EnableNatvisDiagnostics in the registry but I didn't get any diagnostic messages in the Output window . 我尝试在注册表中启用EnableNatvisDiagnostics ,但我没有在“ Output window收到任何诊断消息。

The preinstalled natvis files were working fine though. 预安装的natvis文件工作正常。 So I tried to remove one of the preinstalled natvis files: stl.natvis from Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\Packages\\Debugger\\Visualizers but Visual Studio was still showing vector as if it had access to stl.natvis file. 所以我试图从Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\Packages\\Debugger\\Visualizers删除一个预先安装的natvis文件: stl.natvis但Visual Studio仍然显示vector ,就像它可以访问stl.natvis文件。 Does anybody know how to fix this? 有人知道如何解决这个问题吗? Is there any other location where Visual Studio loads natvis files from? Visual Studio是否还有其他位置加载natvis文件? Maybe there is a registry key for that? 也许有一个注册表项?

PS. PS。 I tried using ProcessMonitor to find out the location from which Visual Studio loads natvis files, but I couldn't find any references in ProcessMonitor s logs. 我尝试使用ProcessMonitor找出Visual Studio加载natvis文件的位置,但我在ProcessMonitor的日志中找不到任何引用。

I finally figured this out. 我终于想通了。 Natvis visualizers do not work when Edit and Continue is enabled. 启用“ 编辑并继续”时,Natvis可视化工具不起作用。

I had the same problem. 我有同样的问题。

Check Tools->Options->Debugging->General-> Show raw structure of objects in variables windows . 检查工具 - >选项 - >调试 - >常规 - > 在变量窗口中显示对象的原始结构 It should be disabled. 它应该被禁用。

I just realized that custom NatVis files (those in %USERPROFILE%\\Documents\\Visual Studio 201x\\Visualizers ) are not used if you use the ReSharper Test Runner to debug a test. 我刚刚意识到,如果使用ReSharper Test Runner来调试测试,则不会使用自定义NatVis文件( %USERPROFILE%\\Documents\\Visual Studio 201x\\Visualizers )。 However the built-in ones, eg for std::vector are working. 然而,内置的,例如std::vector正在工作。

If you run a test regularly (ie, Debug -> Start Debugging , likely F5) your custom NatVis files are loaded and used. 如果您定期运行测试(即, 调试 - > 开始调试 ,可能是F5),则会加载并使用您的自定义NatVis文件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM