我的C#程序应该每秒执行30次异步任务。
该程序作为独立的Windows应用程序运行良好。
但是当它在Visual Studio 2013 Professional环境中以调试模式运行时,性能非常差 - 每秒只有5个任务,即使代码中没有断点也是如此。
调试VS.Net 2013的“功能”是否很慢,有没有办法调试时间关键的C#应用程序?
答案 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)
代码中的许多断点可能会影响调试模式的性能。 请尝试删除无用的断点。