Intellisense自动完成导致Visual Studio 2005 SP1中的VC ++崩溃

时间:2009-06-23 21:48:58

标签: c++ visual-studio visual-studio-2005 intellisense

UPDATE1:我重新安装了Visual Studio,但我仍然遇到此问题。我的猜测是我的环境存在问题。

Update2:潜入。 我将windbg附加到devenv并在windbg中为msenv!_tailMerge_WINMM_dll设置断点并跟踪。

这是尝试使用LoadLibrary API加载winmm.dll。我可以看到LoadLibrary失败并且GetLastError返回5,这是“拒绝访问”。

现在,为什么vs拒绝访问winmm.dll?

---开始原创---

我目前在C ++中遇到严重的Visual Studio 2005 SP1 Intellisense问题。我在项目上有一个全天然的解决方案。每当我或编辑器尝试调用intellisense自动完成功能时,Visual Studio都会崩溃。我甚至尝试使用全新的控制台应用程序。空主服务器中的 Ctrl + 空间崩溃。

我用Google搜索了这方面的帮助,但无济于事。我试过删除ncb文件,但在这方面也没有运气。

我目前正在使用Intellisense,如本文所示: Visual Studio 2005 - 'Updating IntelliSense' hang-up

而且我没有崩溃,但确实很有可能让智能感知回来

从崩溃转储中调用堆栈。

7c812a6b kernel32!RaiseException+0x53
502717a6 msenv!__delayLoadHelper2+0x139
50675186 msenv!_tailMerge_WINMM_dll+0xd
505ac3c3 msenv!CTextViewIntellisenseHost::UpdateCompletionStatus+0x1a7
505acb50 msenv!CEditView::UpdateCompletionStatus+0x30
505dcfad msenv!CEditView::CViewInterfaceWrapper::UpdateCompletionStatus+0x2a
02ae47fc vcpkg!CCompletionList::DoCompletion+0x444
02ade2ce vcpkg!CAutoComplete::PostProcess+0x240
02ade07f vcpkg!CAutoComplete::OnACParseDone+0x3e
02adac2d vcpkg!CMemberListWorkItem::OnCompleted+0x9d
029eb4e3 vcpkg!CWorkItem::ProcessPendingWorkItemCompletedCalls+0x117
029f8b4f vcpkg!CParserManager::OnIdle+0x183
0299961a vcpkg!CVCPackage::OnIdle+0x48
5014b288 msenv!ATL::CComAggObject<CTextBuffer>::QueryInterface+0x43
5a9d2394 VCProject!ATL::CComPtr<IOleInPlaceFrame>::~CComPtr<IOleInPlaceFrame>+0x24
5a9d2880 VCProject!ATL::CComObject<CVCArchy>::Release+0x10
774fd420 ole32!CRetailMalloc_GetSize+0x21
5009422b msenv!CMsoCMHandler::FContinueIdle+0x23
5009422b msenv!CMsoCMHandler::FContinueIdle+0x23

5 个答案:

答案 0 :(得分:4)

我会尝试以下一系列步骤来尝试解决问题

  • 重置所有设置:工具 - &gt;导入/导出设置 - &gt;重置所有设置
  • 删除HKCU:\ Software \ Micosoft \ VisualStudio \ 9.0,然后重新启动VS
  • 通过“添加删除程序”
  • 修复VS安装
  • 禁用所有第三方插件

答案 1 :(得分:3)

  • 您是否尝试修复Visual C ++安装?
  • 您是否安装了任何插件?尝试禁用它们。

删除项目目录中的.ncb文件可能是值得的,以防它被破坏(.ncb是智能感知数据库文件)。

如果您正在进行C ++开发(或至少进行认真的开发),则没有理由不使用Visual Assist。

答案 2 :(得分:3)

这是一个多么奇怪的问题。

我终于使用来自sysinternals的procmon来解决它:

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

最近一次IT之旅后,我的声音以某种方式变成了Windows默认声音。当智能感知发生时,这导致视觉工作室发出咔哒声。为了播放这个声音,必须加载winmm.dll,它位于c:\ windows \ system32 \ winmm.dll。

我想通过调试将winmm.dll符号下载到名为C:\ Program Files \ Microsoft Visual Studio 8 \ Common7 \ IDE \ winmm.dll的 FOLDER 。当然这个文件夹对Visual Studio来说看起来很好吃,所以当它试图将winmm.dll文件夹加载为dll文件POW !!!

我删除了该文件夹和其他一些.dll文件夹:)并且一切都很好。

感谢您的帮助。

答案 3 :(得分:0)

确保您使用的服务包,我认为VS 2005是SP1。

答案 4 :(得分:0)

尝试“清理”解决方案,即删除(重命名)由Visual Studio创建的所有临时文件,如* .ncb,* .suo等。其中一个文件可能已损坏(您的问题听起来像IntelliSense数据库已损坏)。