c# – 调试性能问题的最佳方法是什么?

我正在为C#.NET中的另一个程序编写一个插件,并且遇到性能问题,其中命令需要的时间比我想的要长很多.插件对主机程序中的事件作出反应,并且还取决于主机程序SDK的实用程序方法.我的插件有很多递归函数,因为我正在对树结构进行大量的读写操作.另外,我的插件和主机应用程序之间有很多事件订阅,以及插件中类之间的事件订阅.

我怎样才能弄清楚完成任务需要花费多长时间?我不能使用常规断点样式调试,因为它不是它不起作用它只是它太慢了.我已经设置了一个静态的“LogWriter”类,我可以从我的所有类中引用它,这样我就可以从我的代码中将带时间戳的行写入日志文件.还有另外一种方法吗? visual studio是否保留了我可以使用的某种带时间戳的日志?应用程序关闭后,有什么方法可以查看调用堆栈吗?

解决方法

您需要使用分析器.这里链接到好的: ANTS Performance Profiler.

更新:您还可以使用Debug.Write在控制点中编写消息.然后,您需要加载DebugView应用程序,该应用程序显示具有精确时间戳的所有调试字符串.它是免费软件,非常适合快速调试和分析.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...