如何停止右键死锁Visual Studio 2008

11

我在使用 Visual Studio 2008 时遇到了一个非常严重的问题。有时在调试时右键单击(以进行转到定义、设置下一条语句等操作),Visual Studio 就会死锁并进入无响应模式。

有人遇到过同样的问题吗?有人知道如何解决吗?

编辑: 我正在使用带有几个热修复程序的 SP1 版本。

13个回答

7
问题:
在Vista中,签名应用程序/ dll加载缓慢。Visual Studio IDE在离线/非连接互联网的工作站上“挂起”。没有互联网连接,证书吊销检查超时并导致应用程序挂起。调试/逐步执行代码时,dll将根据需要加载,并尝试进行吊销检查,此时VS IDE变得无响应。

影响:
这会影响所有签名的应用程序/ dll,也是Microsoft Word / Excel打开简单文档所需时间长的原因。办公应用程序,SQL管理工具,Visual Studio,使用证书的Web应用程序。

解决方法:
禁用发布者证书吊销检查

通过IE:

  1. 进入IE 7中的Internet选项
  2. 然后转到安全选项卡,向下滚动
  3. 取消选中“检查发布者证书吊销”复选框
  4. 点击确定

通过注册表:

  1. 打开注册表
  2. 浏览到以下键值:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing
  3. 要禁用检查: 将State键的值更改为146944十进制或0x00023e00十六进制
    要重新启用检查: 将State键的值更改为146432十进制或0x00023c00十六进制

备用解决方法:
禁用Visual Studio托管进程:

  1. 在Visual Studio中打开项目。
  2. 在“项目”菜单上,单击“属性”。
  3. 单击“调试”选项卡。
  4. 清除“启用Visual Studio托管进程”复选框。

注意:备用解决方法会导致某些调试功能丢失。

背景:
Microsoft Connect Report


Win7中的IE9怎么样?没有找到这个选项。 - Sergiy Belozorov

3

自从我换成了Windows7,这个问题就不再出现了。如果你还不幸停留在Windows Vista上,我发现只有当等待Intellisense数据库构建时(请看左下角的进度),它才会挂起右键单击。唯一的“解决办法”是等待Intellisense停止构建,然后进行右键单击。


2

退出Visual Studio并删除该项目的.ncb文件。


2
在调试多线程应用程序时,有时会在断点命中时出现挂起。有时,当我尝试通过右键单击代码中的变量来查看变量时,VS会挂起(显示为沙漏形状)。
我在Google上搜索并找到了一个提示,解释说当VS中断时,它会评估本地和监视窗格中的所有变量,以便显示它们。但是,在线程化的应用程序中,如果代码在评估值时获取锁定,例如在属性getter中,则可能会导致死锁。
通过在中断之前关闭本地窗格,我避免了挂起。
我没有很好地解释这一点。我再次尝试搜索以找到原始提示,但没有成功。
它可能是这个链接:为什么Visual Studio在调试时会停顿?

2

我前几天写了一段非常疯狂的模板代码,如果我将鼠标悬停在模板代码上,最新版本的VisualStudio就会卡住。这太不真实了 :)

无论如何,你可能会遇到类似的问题,这时你需要删除你的智能感知数据库并重试。


2

尝试在安全模式下启动Visual Studio,以排除任何已安装扩展引起的问题。


0

我发现在调试多线程应用程序时,Visual Studio(VC9)经常会死机。通常情况下,我不得不重新启动系统。


0
对我来说,我发现VS试图打开一个已过期的IP,因为我之前进行了一些远程调试。在“工具”-->"选项"-->"调试"-->"符号"下检查您的调试设置,确保您没有错误的路径。

0

我知道这不是一个解决方案,但是为了将我的VC项目从VC2008移动到VC2010(其中Intellisense已被禁用)的理由。尽管我没有明确地保存3个小时,但恢复工作得很好。


0
以下方法适用于我:

删除相关项目的 .ncd 和 .suo 文件。

源代码


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