2012-06-25 123 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概述了一些經驗,發現並刪除了一系列問題,導致加速因素可能違反了您的期望。