尝试在VS2008中右键单击代码会导致锁定
Posted
技术标签:
【中文标题】尝试在VS2008中右键单击代码会导致锁定【英文标题】:Trying to right click on code in VS2008 causes lockup 【发布时间】:2010-03-31 13:17:11 【问题描述】:使用 Visual Studio 2008 SP1 处理 Win32 DLL,从昨天开始,每当我尝试右键单击代码,例如转到变量定义时,VS 完全锁定,我必须手动终止该进程。更奇怪的是,每当这种情况发生时,devenv.exe 进程使用恰好 25% 的 CPU。我的意思是准确地说,从来没有 24%,从来没有 26%,总是 25%
另外,我已经运行 ProcMon 来查看 devenv 是否真的在做某事,但它在进程之外绝对没有做任何事情。没有磁盘、网络、注册表访问。什么都没有。
这真的很烦人,因为我有一个庞大的代码库要处理,而跳转到定义的唯一其他方法是首先搜索它。
有没有人遇到过类似的问题?而且,更好的是,知道解决方法吗?
编辑:更多信息。其他项目(甚至是同一项目的旧版本)工作正常。我对项目文件进行了比较,唯一的区别是在命令行参数中添加了源文件和 /D 定义。
编辑 2: 所以,现在看来实际上是因为智能感知卡在更新中。出于某种原因,状态栏被禁用,但是当它回来时,我说“正在更新 Intellisense ... (186)”,从我读过的内容来看,186 意味着有 186 个后台线程在工作。 186?!但是,procmon 仍然没有显示任何 IO。
【问题讨论】:
【参考方案1】:尝试删除所有 .sbr .bsc 和 .pdb 文件。
对于 25% 的 CPU 负载:我猜它在您的四核机器上使用一个核心。
如果您安装了 Visual Assist,请尝试禁用它。
【讨论】:
不走运...删除了所有这些。没有视觉辅助。还是一样的。而且,实际上,一个核心的负载为 25%。【参考方案2】:在连接时,提交的错误:Visual Studio Hang,似乎与您的问题非常相似:
在随机时间,当我在文本编辑器(在本例中为 C/C++ 编辑器)中单击鼠标右键时,Visual Studio 会挂起。如果我等待它,它仍然会挂起。
似乎解决方法是退出 Visual Studio 并删除项目目录中的 intellisense (.ncb) 文件并重新打开它。
您看到的问题是以前版本的 Visual C++ 中的间歇性故障,该故障难以诊断,并且如您所讨论的,有一个相对简单的解决方法,即删除您的 NCB。为了对头文件进行正确的智能感知,需要将它们包含在项目中的 .cpp 文件中(直接或间接通过另一个头文件。)
【讨论】:
希望这是解决方案,但我已经删除了 NCB 文件一百万次。甚至只是在同事的机器上运行它,完全新鲜,没有多余的文件,并且在您第一次尝试右键单击时发生。以上是关于尝试在VS2008中右键单击代码会导致锁定的主要内容,如果未能解决你的问题,请参考以下文章
SQL2008无法连接到(local),该账户当前被锁定,所以Sa用户登陆失败
附加 Visual Studio 调试器会导致高 CPU 使用率和 UI 线程锁定