3

我正在使用 Visual Studio 2012 Update 3。当我打开一个项目时,VS 会自动创建一个名为 的进程<myproject>.vshost.exe,甚至在开始调试之前。

当我开始调试并稍后关闭调试应用程序时,大多数情况下<myproject>.vshost.exe进程也会关闭。发生这种情况时,devenv.exe开始占用比正常情况多 3 倍的内存,并且 CPU 在大约 1 分钟内上升到 25%(在具有 8GB 内存的 i7 Quadcore 上)。在 1 分钟结束时,一个新的<myproject>.vshost.exe打开(即使我没有调试),CPU 回落到 0,内存也回落。

在 CPU 为 25% 且未在后台运行时尝试开始调试<myproject>.vshost.exe将导致解决方案构建,但调试不会开始。

如果我等到 CPU 回落并且<myproject>.vshost.exe进程再次运行,那么我可以正常开始调试。

关闭我正在调试的应用程序后,80% 的时间都会发生这种情况。当我停止调试时,剩下的 20% 的时间<myproject>.vshost.exe继续在后台运行,并且我可以立即重新开始调试,没有延迟。

无论调试之间的代码更改如何,都会发生这种情况。

这是 VS2012 U3 的新安装,我尝试重置所有设置并禁用 ReSharper,但仍然没有乐趣。

我不想禁用 vshost 调试,因为我会失去这些功能。

以前有没有其他人遇到过这个问题?这是一个已知的问题?是否有任何解决方案/解决方法?

编辑

我将平台从 Any CPU 更改为 x86,它似乎可以正常工作,但我仍然不明白为什么我不能将它作为 Any CPU 进行调试。即使这可能是解决方法,我仍然想知道这是否是一个已知问题以及是否有其他(更好的)解决方案。

通过“正常工作”,我的意思是当我停止调试时,vshost 不会关闭,实际上它永远不会关闭,但 devenv 的 CPU 保持在 0%,它允许我启动和停止调试任意多次一个接一个。

编辑2

实际上,将平台更改为 x86 似乎只在一段时间内正常工作,在大约 20 次重建之后,它现在的效果与将其保留为任何 CPU 相同。

另一方面,关闭和打开 VS 没有区别。

4

3 回答 3

1

我最终再次格式化计算机并从头开始重新安装所有内容。因为它似乎工作正常,让我们看看这能持续多久。

于 2013-09-05T10:11:32.333 回答
1

我知道这已经有几个月了,但我试图在几个地方发布这个答案,因为这是导致我生病的原因:我在 Visual Studio 2012 中打开了数据源工具箱。一旦我关闭它,它似乎消除了切换窗口时的长时间延迟。如果您不需要打开服务器管理器,您可能还需要关闭它。

于 2013-11-19T20:38:57.870 回答
0

我知道这是旧帖子,但我想我需要为大家分享我的解决方案。这是我的第一篇文章,所以如果我错过了什么,请改进答案。
我对 Visual Studio 2012 也有同样的问题,当我尝试构建或调试时,它会使用高达 100% 的 CPU。
因此,我尝试以下步骤来减少调试时的 CPU 使用率:

  • 请关闭不必要的打开文件。
  • 隐藏不必要的调试面板,例如:断点、自动、本地、输出、查找符号结果等。
  • 如果仍然使用高 CPU,则尝试隐藏调用堆栈面板。
  • 删除不必要的断点。
于 2019-01-22T06:59:36.647 回答