VS2008:无法启动调试,远程调试监视器已关闭。

62

我偶尔会遇到一个神秘的错误,但我并不知道原因。我可以通过重启Visual Studio 2008来“解决”它,但这并不是一个确切的解决方案...

错误信息如下:

尝试运行项目时出错:无法启动调试。

Microsoft Visual Studio 远程调试监视器已在远程计算机上关闭。

据我所知,我没有执行任何远程操作,只是常规地进行调试,类似于按下F5键。这是什么意思?我该如何解决?

错误对话框


3
对我来说,重新启动机器就让它消失了。相当恼人。 - Gishu
2个回答

107
如果您的操作系统是64位,则会自动启用“静默远程调试”。Devenv在WoW64中运行(也就是说,它是一个32位进程)... 当您按下F5时,它会作为64位进程启动msvsmon.exe,并设置一个通信通道,使得Devenv和msvsmon之间可以进行“静默远程调试”,以便调试您的64位进程。
当您成功进行调试时,请检查任务管理器,您应该会看到msvsmon.exe正在运行。
如果上述假设(64位操作系统)是正确的,则您看到的错误是基于Visual Studio进入了一种错误状态。如果它在运行msvsmon.exe实例时出现此错误...请杀死该实例。如果没有运行msvsmon.exe,则重新启动Devenv可能是您唯一的选择。
另一个可能的解决方法是将项目设置为“平台x86”,以便您可以直接进行调试。编译后的x86托管程序集或本地二进制文件将在Wow64中运行,并且不需要进行任何静默远程调试。(显然,如果这是一个仅限于64位的问题,那么这并没有帮助...但实际上这种情况很少见。)
我希望这可以帮助您,或者协助您寻找更好的答案。

1
太棒了,我不知道这个。下次遇到这种情况会去寻找。谢谢! - Svish
6
我一直想知道为什么远程调试器在本地运行。谢谢! - Kieron
5
今天早上在VS2010中遇到了完全相同的错误。如果微软能够停止胡乱操作并使VS成为真正的64位应用程序,而不是32位应用程序的薄包装层,那就太好了。 - Ian Kemp
1
即使在VS2010 SP1之后,这个问题仍然存在。更改平台可以帮助解决问题,但是您的解决方案中的.resx文件可能会出现轻微的编译问题。 - Konrad
3
当重新启动VS无法解决问题时,即使确保关闭了devenv.exe、msbuild并重新启动了IIS,我也讨厌为这种事情重新启动电脑。 - Simon_Weaver
显示剩余2条评论

0

我在使用VS2010进行asp.net开发时遇到了同样的问题。这是我的IIS出了问题。 我没有进入命令提示符,必须要iisreset。否则只需在IIS管理窗口中简单地重置iis即可。这为我解决了问题。


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