在Visual Studio 2008中,什么原因会导致“调试将被中止”错误?

7

有时我启动Visual Studio 2008 SP1调试器时会遇到以下错误:

与MYCOMPUTER的网络连接已丢失。调试将被终止。

我的解决方案中有几个项目被配置为启动项目。当出现错误时,其中一些项目会启动,而另一些则不会。

有什么想法吗?

更新:
- Visual Studio在64位机器(Win7)上运行
- 应用程序使用MSMQ(本地私有队列)

6个回答

7
我的解决方法是删除所有断点。显然,源代码控制的更新破坏了一些已存在的断点。

删除所有断点对我解决了在使用VS2012和VS2012远程调试器附加时崩溃的问题。 - Jason Stangroome

5
这里可能是你在应用程序上使用了远程调试。启动期间发生了某些错误导致出现了该错误信息。
请提供更多关于应用程序的信息:
- 你是否明确地使用了远程调试? - 是否通过某个远程操作在MYCOMPUTER上使用了任何资源? - 你是否正在共享项目?
如果你正在调试一个64位应用程序,则可能会隐式使用远程调试。Visual Studio作为32位进程运行,并在幕后使用远程调试来调试64位应用程序。

我在调试一个网站时遇到了这个问题(win7 64位)。我尝试了x86路径,但我的解决方法是重置Visual Studio(devenv.exe /ResetSettings)。 - Paul Kohler
谢谢,这解决了我的问题。我在一个闭合括号上设置了断点,不知道为什么会导致这个问题。将其移到实际的代码行上后,问题就消失了。 - Robert Chitoiu

1

如果有人偶然发现这篇文章,我是通过卸载远程机器上的Visual Studio 2015代理解决了这个问题。

由于某些原因,它与远程调试过程发生了冲突,但我无法确定具体原因。通过仔细比较工作正常的远程机器和出错的机器,修复了我能找到的每一个差异,最终找到了解决方法。


0

在“工具-选项-调试”中禁用“使用托管兼容性模式”选项。这在我的情况下解决了这个问题。


0

检查您的启动项目上的调试属性,可能已配置远程调试。(调试/远程设置)


0

以管理员身份添加PowerShell规则。(您可能需要更改文件路径以匹配)

New-NetFirewallRule -DisplayName "msvsmon" -Direction Inbound -Program "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe" -LocalPort 4026 -Protocol TCP -Authentication Required -Action Allow

我还做了其他一些事情:

  • 在C:\Windows\System32\drivers\etc的hosts文件中添加以下内容

127.0.0.1:4026 YourComputerName # hostname 127.0.0.1:4026 localhost

我还需要做更多的事情:

  • 打开 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe
  • 检查端口是否为 4026,也要点击“权限”按钮,查看管理员和您本人是否有调试权限
  • 同时打开 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Remote Debugger\x86\msvsmon.exe,检查端口是否为 4026,还要检查调试权限
  • 由于我使用的是 HitmanPro 恶意软件/勒索软件防护软件,我将所有 *msvsmon.exe 文件以及主 Visual Studio 可执行文件添加到了例外列表中,包括那些没有用户界面的 *msvsmon.exe 服务文件。我还在 Windows 安全中将整个 Visual Studio 安装文件夹添加为例外。因此,请确保您在相关的杀毒软件、恶意软件和勒索软件程序中添加这些位置和文件到例外列表。

差点放弃……但千万不要这样做……花了三天时间才解决这个问题,而微软提供的页面只会让您更加困惑。


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