奇怪的 Visual Studio (TS 2008) 问题:每当我在特定项目中从发布模式切换到调试模式时,IDE 就会完全冻结。它发生在我切换时,在我尝试构建或做任何其他事情之前。
整个事情一开始就出乎意料,没有任何我能想到的异常变化。我试图清理解决方案,但没有帮助。
以前有人遇到过这个吗?
奇怪的 Visual Studio (TS 2008) 问题:每当我在特定项目中从发布模式切换到调试模式时,IDE 就会完全冻结。它发生在我切换时,在我尝试构建或做任何其他事情之前。
整个事情一开始就出乎意料,没有任何我能想到的异常变化。我试图清理解决方案,但没有帮助。
以前有人遇到过这个吗?
如果一切正常然后停止,通常这意味着有一些问题,即使它被忽视了。
我会一个接一个地尝试的事情:
devenv, mspdbsrv, vcpkgsrv, msbuild, msvsmon, vshub, vstest
等.suo, .ncb, .VC.db, .VC.VC.opendb
解决方案的文件以及.vs
目录,这有时会导致问题YourProjectName.vcproj.DOMAINNAME.LOGINNAME.user
或YourProjectName.csproj.user
. 设置文件名取决于您使用的项目类型"C:\Program Files\Microsoft Visual Studio [vs_version]\Common7\IDE\devenv.exe" /setup
或"C:\Program Files (x86)\Microsoft Visual Studio [vs_version]\Common7\IDE\devenv.exe" /setup
用于 x64 环境%USERPROFILE%\AppData\[Local|Roaming]\Microsoft\VisualStudio[vs_version]
和注册表中的用户设置HKCU\SOFTWARE\Microsoft\VisualStudio[vs_version]
它应该将所有东西重置为开始状态。如果它不起作用,那么还有其他工具可以调查。下载Process Explorer,一旦 IDE 冻结,启动 Process Explorer,找到 devenv 进程,双击它并转到 Threads 选项卡。检查在冻结的情况下哪个线程具有最大的开关增量,双击它并获取顶部函数的名称(或偏移量)。它提供了可能存在问题的附加信息。
此外,有时它有助于在控制面板的“添加或删除程序”向导中修复 Visual Studio。
在 2017 年遇到了这个问题。我以管理员身份运行 VS 2017 并且它有效。
VS 似乎在幕后做了很多工作,并将特定于项目的文件放在 App Data 中,谁知道还有哪里。我有这样的经历:我有一个项目,在两个不同的目录中有两组相同的代码:一组用于生产,一组用于开发。开发项目开始挂在调试上,生产没有。尝试了各种设置并删除 .suo 文件,但没有帮助。所以我重命名了开发版本所在的目录,然后一切都没有挂起。
我在 VS 2017 (15.8) 中遇到过这种情况。升级到最新版本(当时是 15.9)解决了这个问题。
在我的特殊情况下,我尝试了许多其他答案,但都没有运气。事实证明,对此的调用正在挂起调试器:
Log4NetExtensions.AssertFail("Error");
我设法将其缩小到这行代码,方法是调出下面的线程窗口[ Debug > Windows > Threads ]
并单击当前线程以浏览到它挂起的代码行。