首页 文章

使用VS调试MSVSMON.EXE非常慢

提问于
浏览
8

我正在尝试使用Windows 7上的IIS 7.5从Visual Studio 2013调试ASP.NET Web应用程序 . 调试过程非常慢,每页加载大约需要60-90秒 . 我注意到,当一个页面加载时,MSVSMON.EXE(Visual Studio远程调试监视器)在我的四核机器上保持25-30%的CPU,我怀疑它是罪魁祸首 .

在另一台装有Windows 8和IIS 8.5的PC上,使用几乎毫无意义的MSVSMON,调试速度要快得多 . 我尝试模仿前一台机器的Visual Studio和IIS的每一个调试设置,但调试仍然很慢,MSVSMON仍然达到高CPU使用率 .

为什么会这样?我该怎么做才能解决我的问题并减少CPU使用率?

3 回答

  • 12

    当我在经常运行的代码中设置条件断点时,我遇到了这种情况 . 尝试暂停调试器只会导致Visual Studio ...什么都不做(除了灰色的暂停菜单选项) .

    Visual Studio远程调试监视器在四核系统上占用了大约30%的CPU .

    删除条件断点解决了该问题 .

  • 1

    你在两台机器上调试相同的应用程序吗?如果没有,有一点要检查的是,使用II7.5 / Windows 7应用程序与win8 IIS 8.5应用程序抛出了多少异常 - 调试器对每个异常都做了相当多的工作,因此对缓慢有放大效果-下 .

    如果这是问题,您可以尝试关闭调试 - >输出窗口 - >异常消息,这应该有所帮助 . 当然,如果你有一个应用程序抛出足够的异常导致这种速度减慢,并且你有能力重新编写代码以减少在非特殊情况下抛出的异常数量,那么这也会有所帮助 .

    如果失败了,您可能会尝试关闭所有输出设置和IntelliTrace,因为所有这些都可能影响性能,如果这解决了问题,您可以逐个将它们重新打开以找出罪魁祸首的位置 - 即使它们是相同的应用程序必须处理的事件之间的应用程序之间的应用程序有足够的变化可能会大不相同 .

    HTH

  • 0

    这个解决方案(归功于David W Gray)值得单独回答 .

    尝试禁用IntelliTrace( Debug => IntelliTrace => Open IntelliTrace Settings...

相关问题