你在使用。net程序时使用过哪些分析器,你特别推荐哪一个?
当前回答
The NuMega True Time profiler lives on in DevPartner Studio by Micro Focus. It provides line and method level detail for .NET apps requiring only PDBs, no source needed (but it helps.) It can discriminate between algorithmically heavy routines versus those with long I/O waits using our proprietary per thread kernel mode timing driver. Version 10.5 ships with new 64-process support on February 4, 2011. Shameless plug: I work on the DevPartner product line. Follow up at http://www.DevPartner.com for news of the 10.5 launch.
免责声明:我是microfocus开发伙伴的产品经理。
其他回答
我还要补充一点,dotTrace区分内存和性能跟踪会话的能力绝对是无价的(ANTS可能也有内存差异特性,但我没有看到性能差异)。
能够在bug修复或增强之前和之后运行一个分析会话,然后比较结果是非常有价值的,特别是对于一个庞大的遗留的。net应用程序(就像我的情况),性能从来都不是优先考虑的,而且查找瓶颈可能非常乏味。执行前后差异可以查看每个方法的调用计数变化和每个方法的持续时间变化。
This is helpful not only during code changes, but also if you have an application that uses a different database, say, for each client/customer. If one customer complains of slowness, you can run a profiling session using their database and compare the results with a "fast" database to determine which operations are contributing to the slowness. Of course there are many database-side performance tools, but sometimes I really helps to see the performance metrics from the application side (since that's closer to what the user's actually seeing).
总结:dotTrace工作得很好,差异是无价的。
AutomatedQA AQTime计时和SciTech MemProfiler内存。
如果许可是一个问题,您可以尝试WINDBG进行内存分析
最新版本的ANTS内存分析器(我认为它是5)简直太棒了!!我使用WinDbg和SOS来解决泄漏,因为它被证明是最好的方法,然后我尝试了ANTS,几分钟就搞定了。真是一个很棒的软件。
不要忘记nProf -一个非常好的免费分析器。