使用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。
答案 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文件包含(直接或间接通过另一个头文件。)