Eri*_*tas 6 .net c# debugging performance
我正在为C#.NET中的另一个程序编写一个插件,并且遇到性能问题,其中命令需要的时间比我想的要长很多.插件对主机程序中的事件作出反应,并且还取决于主机程序SDK的实用程序方法.我的插件有很多递归函数,因为我正在对树结构进行大量的读写操作.另外,我的插件和主机应用程序之间有很多事件订阅,以及插件中类之间的事件订阅.
我怎样才能弄清楚完成任务需要花费多长时间?我不能使用常规断点样式调试,因为它不是它不起作用它只是它太慢了.我已经设置了一个静态的"LogWriter"类,我可以从我的所有类中引用它,这样我就可以从我的代码中将带时间戳的行写入日志文件.还有另外一种方法吗?visual studio是否保留了我可以使用的某种带时间戳的日志?应用程序关闭后,有什么方法可以查看调用堆栈吗?
arb*_*ter 16
您需要使用分析器.这里链接到好的:ANTS Performance Profiler.
更新:您还可以使用Debug.Write在控制点中编写消息.然后,您需要加载DebugView应用程序,该应用程序显示具有精确时间戳的所有调试字符串.它是免费软件,非常适合快速调试和分析.
My Profiler List包括 ANTS、dotTrace 和 AQtime。
但是,更仔细地查看您的问题,在我看来,您应该在进行分析的同时进行一些单元测试。也许先做一个快速的整体性能扫描,看看哪些领域最需要关注。然后开始为这些领域编写一些单元测试。然后,您可以在运行这些单元测试时运行探查器,以便获得一致的结果。
| 归档时间: |
|
| 查看次数: |
4338 次 |
| 最近记录: |