试图右键单击VS2008中的代码会导致锁定

时间:2010-03-31 13:17:11

标签: c++ visual-studio visual-studio-2008

使用Visual Studio 2008 SP1处理Win32 DLL,从昨天开始,每当我尝试右键单击代码,转到变量定义时,VS就会完全锁定,我必须手动终止进程。为了使它更奇怪,只要发生这种情况,devenv.exe进程就会使用完全 25%的CPU。我的意思是,从来没有24%,从不26%,总是25%

另外,我运行ProcMon来查看devenv是否实际上正在做某事,但它完全没有做任何外部的过程。没有磁盘,网络,注册表访问。什么都没有。

这变得非常恶化,因为我有一个很大的代码库来处理,跳转到定义的唯一其他方法是首先搜索它。

有没有人遇到过类似的问题?而且,更好的是,知道修复?

编辑:更多信息。其他项目(即使是相同版本的旧版本)也可以正常工作。我对项目文件进行了区分,唯一的区别是在命令行参数中添加了源文件和a / D定义。

编辑2:所以,现在看来它实际上是因为intellisense卡住了更新。由于某种原因,状态栏被禁用,但是当它被取回时我说“正在更新智能感知......(186)”,从我所读到的,186意味着有186个后台线程在工作。 186?但是,procmon仍然没有显示任何IO。

2 个答案:

答案 0 :(得分:1)

尝试删除所有.sbr .bsc和.pdb文件。

对于25%的CPU负载:我猜它在你的四核机器上使用一个核心。

如果安装了Visual Assist,请尝试禁用它。

答案 1 :(得分:0)

在连接时,提交的错误:Visual Studio Hang似乎与您的问题非常相似:

  

随机时,当我右键单击文本编辑器时,在本例中为C / C ++编辑器,Visual Studio将挂起。如果我等了,它仍然会挂起。

似乎解决方法是退出Visual Studio并删除项目目录中的intellisense(.ncb)文件并重新打开它。

  

您看到的问题是Visual C ++的早期版本中的间歇性故障难以诊断,并且具有相对简单的解决方法,正如您所讨论的那样,即删除您的NCB。为了获得头文件的正确智能感知,它们需要被项目中的.cpp文件包含(直接或间接通过另一个头文件。)