【问题标题】:Visual Studio 2008 hanging in 64bit Windows 7Visual Studio 2008 挂在 64 位 Windows 7 中
【发布时间】:2012-11-08 18:13:13
【问题描述】:

我有全新的 Win7 64 位机器。 Visual Studio 2008 是新安装的,但是开始响应越来越慢,最终完全挂起,完全占据了机器的一个(虚拟)核心。经过一个小时左右的响应越来越慢后,我将其关闭并重新启动,然后它一开始运行良好,然后又逐渐变慢。

使用 Process Explorer 我发现负责的 devenv.exe 线程总是有一个堆栈,当它与处理器挂钩时看起来像这样:

ntoskrnl.exe!KeWaitForMultipleObjects+0xc0a
ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x732
ntoskrnl.exe!KeWaitForMutexObject+0x19f
ntoskrnl.exe!__misaligned_access+0xba4
msenv.dll!DllCanUnloadNow+0x49b31

有一个或多个ntoskrnl.exe!__misaligned_accessmsenv.dll!DllCanUnloadNow 行;谁能告诉我可能出了什么问题?谢谢!

更新:

通过命令行开关 /SafeMode 启动了 VS(感谢 0xA3),我发现没有 Resharper 问题似乎消失了......所以它看起来很可能是一个 Resharper 错误:(

【问题讨论】:

  • 是否安装了任何 Visual Studio 扩展/附加组件?
  • Resharper 5.1,但是挂CPU的不是Resharper进程。
  • 您是否在没有 Resharper 的情况下启动了 VS?使用 /SafeMode 开关查看问题是否仍然存在。
  • 好的,明天试试。

标签: performance visual-studio-2008 windows-7 64-bit freeze


【解决方案1】:

您是否检查了进程中的所有其他线程? (托管和非托管)查看是否有任何线程忙或在与其他人不同的堆栈的非平凡地方等待?主线程显然正在等待,很可能在同一进程的另一个线程上 - 我很想知道那里还有哪些其他调用堆栈。

【讨论】:

  • 哪些线程会感兴趣?我在任何时候都数到 60,尽管大多数是 CreateApplicationContext 和 _endthreadex...
  • 恐怕没有更简单或自动的方法可以做到这一点,而不是遍历每一个。消除所有看起来相似的东西,并选择所有包含来自 VS 或第 3 方的模块的堆栈 - 你应该最多得到几个。
猜你喜欢
  • 2010-12-24
  • 1970-01-01
  • 2010-12-26
  • 2011-08-01
  • 2011-10-05
  • 1970-01-01
  • 1970-01-01
  • 2014-04-05
  • 1970-01-01
相关资源
最近更新 更多