应用程序在调试模式下运行非常慢

时间:2013-12-09 09:08:08

标签: c# performance debugging visual-studio-2013

我的C#程序应该每秒执行30次异步任务。

该程序作为独立的Windows应用程序运行良好。

但是当它在Visual Studio 2013 Professional环境中以调试模式运行时,性能非常差 - 每秒只有5个任务,即使代码中没有断点也是如此。

调试VS.Net 2013的“功能”是否很慢,有没有办法调试时间关键的C#应用​​程序?

4 个答案:

答案 0 :(得分:7)

感谢您 user1720293 了解有关记录的想法。巨大性能下降的主要原因是通过log4net.Appender.ConsoleAppender登录到控制台。在配置文件中注释掉一行后问题已经消失

  <root>
    <level value="DEBUG"/>
    <!-- here's the source of the problem
    <appender-ref ref="ConsoleAppender"/>
    -->
    <appender-ref ref="RollingFile"/>
  </root>

答案 1 :(得分:1)

我试着通过以下方式消除一些事情: 删除所有手表项目 隐藏当地人,汽车窗口等

你在追查很多文字吗?你也可以尝试不这样做,看看它是否有所作为。

视觉工作室是否被您的防病毒软件单独留下了?

如果它不是纯c#代码并且c ++涉及任何地方,则调试性能很差。

这些都不是Visual Studio 13的具体建议。 你之前在2012年或2010年运行过这段代码吗?

答案 2 :(得分:1)

您声明您正在大量使用log4net。如果每次登录时都要打印到输出流,这将导致性能下降。

控制台输出总是慢。考虑使用预处理器来挑选您想要的日志记录。

#if HEAVY_LOGGING_MODE
//log log log
#endif

Log4Net可能支持更好的机制。检查文档!

答案 3 :(得分:0)

代码中的许多断点可能会影响调试模式的性能。 请尝试删除无用的断点。