2012-06-25 85 views
1

这里是一个长期的OS X开发人员,所以我对Windows上存在的类似于OS X Instruments的分析工具有点困惑。线程分析工具? C#Visual Studio 2010

随着仪器我可以从字面上看到函数调用和每个正在使用多长时间,以及线程来确定哪些可能消耗了太多的CPU时间。

我试过内置的探查器,但它只告诉我随着时间的推移CPU使用率,没有呼叫树。

内置分析器是否支持这个功能?或者我应该查看第三方工具?

在此先感谢!

回答

0

Red Gate的ANTS Profiler是用于分析.NET应用程序的非常有用的工具;但是,这不是免费的。

使用dottrace,Jetbrains生成了一个工具来分析性能和内存。前

0

展鹏做一些很好的工具,这一点 - 蚂蚁探查可

此外JetBrains的dotTrace

2

您可以在VS2010探查器中看到所有这些,尽管有第三方工具可以更好/更简单地实现它。 (DotTrace,RedGate的ANTS Profiler等)。

在VS2010中,如果转到分析>启动性能向导,则有四个选项。前两个涉及方法级别的计时和计数,即单线程性能分析。第三个与分配有关,第四个选项将让您查看多线程应用程序的分析(各个CPU核心的使用,锁定争用等)。对于多线程分析,请选中“可视化多线程应用程序的行为”。

+0

所以这是我试图做的,但它总是给我一个PRF0025的错误:没有收集数据。我可以通过命令行启动它使用http://stackoverflow.com/questions/6298537/why-cant-i-profile-using-vsperfmon-by-attaching-to-dllhost-exe但它并没有给我任何有用的信息。只有每个线程的长度,这不是很有帮助。我喜欢某种调用堆栈/图形。注意:我的应用程序必须以管理员身份运行,不确定是否重要(VS以管理员身份运行)。 – Geesu

+0

我会创建一个简单的hello-world示例和基准,首先看到一切正常,因为它应该是最简单的例子。 –

0

EQATEC,ANTS和DotTrace是高质量的精心打造的工具,我想VS2010 profiler也是。

也就是说,恕我直言,所有的最好的工具是你不必支付,random-pausing东西的人,和其他人也这么认为,因为here,也是this answer的最后一段。 This link概述了一些经验,发现并删除了一系列问题,导致加速因素可能违反了您的期望。