Visual Studio 2015诊断工具不支持当前的调试配置。

64

在使用VS2015的快照和性能分析工具后,我似乎无法再次使诊断工具正常工作。即使是新项目也会显示以下内容:

诊断工具窗口不支持当前的调试配置。

图片描述

尝试创建新的、不同类型的项目,以管理员身份运行,删除程序数据、应用程序数据,从卸载中进行修复和重新安装,但都没有解决问题。

有人遇到过这种情况吗?很遗憾,因为这个版本的工具已经有了很大的改进。

7个回答

99

我解决了我的问题。诊断工具窗口目前不支持以下内容:

  • 使用JavaScript的Windows Store项目
  • 在Windows Phone上运行的Windows Store项目
  • 使用托管代码或本机兼容模式调试

在我的情况下,我启用了“使用托管兼容模式”。要更改此设置,请转到以下位置,取消选中“使用托管兼容模式”或“使用托管本机模式”。

工具 -> 选项 -> 调试 -> 常规 ->(取消选中)“使用托管兼容模式”


2
不要忘记重新启动 VS,以使更改在 Diags 窗口中生效。 - Gábor

8

我遇到了同样的问题,但没有勾选'使用托管兼容性模式'选项。经过一番小小的研究,貌似如果在管理员模式下启动Visual Studio,我就能够使用诊断工具。要以管理员模式启动Visual Studio,只需右键单击工作室图标,然后单击以管理员身份运行


7
我在VS2017中遇到了这个错误消息,但以上的解决方法都不适用于我。但是,最终我还是解决了它。
似乎这个工具实际上可以附加到计算机CPU上的任何进程,而不仅仅是由VS运行的程序。因此,如果没有指定要对在VS中运行的程序运行诊断,它就会抛出这个错误消息。
起初,我去了“调试”>“窗口”>“显示性能工具”,当我尝试在模拟器中运行我的程序时,它会显示这个错误消息:“诊断工具窗口不支持当前的调试配置”。我尝试去“调试”>“选项”并关闭“使用托管兼容性模式”功能,但已经取消选择(并灰掉)了,并且我尝试以管理员身份运行VS,但它仍然表现相同。
最终,我找到了一篇帖子建议使用“附加到进程”,这才成功了。我去了“调试”>“附加到进程”,打开了一个窗口,列出了大量可用的进程。我无法手动找到正在运行我的程序的模拟器,所以我打开了任务管理器并找到了它:“qemu-system-x86_64”。
我点击了“附加”,然后回到“调试”>“窗口”>“显示诊断工具”,我现在可以获取所需的流。从那里,我可以拍摄我的内存使用快照,并且我有一种简单的方法在调试期间观察我的程序的内存泄漏问题而不必等待实际的滞后。
干杯。

但这样做不允许您使用断点,对吗? - S. Elliot Perez
我的问题最终与你在这里描述的非常相似,但具体来说,我是使用应用程序(LINQPad脚本)中的Debugger.Launch()附加到进程,并且以这种方式附加会导致该消息,但通过VS附加到应用程序进程可以使其正常工作。 - TJ Rockefeller
是的,谢谢。我试图删除所有断点。没注意到,我点击了“分离全部”,后来才发现诊断工具不见了。我只需要附加到:自动:本机代码,就能够重新使用。 - user1544428
附加到进程对于我的在 Docker 中运行的应用程序也起了作用。我附加到了具有 exec -i 参数的 docker.exe。 - Dave

4

以管理员身份运行 Visual Studio ,这对我有用。


1
对我来说,是PostSharp 4.3(alpha版)破坏了“诊断工具”窗口。

0

感谢指针!对我来说,情况恰好相反。"使用托管兼容模式"未被选中。勾选它消除了错误,调试器又开始工作了。


0
我通过关闭和重新打开 Visual Studio (2022) 来修复了它。但是这个错误突然出现,之前它是可以工作的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接