2010-02-16 43 views
7

剖析應用的我的標準Linux的方法是:在MacOSX上分析g ++應用程序?

1) compile with g++ -pg 
2) run prog 
3) gprof 

顯然gprof的是MacOSX上10.5布魯克,和我應該用鯊魚。我找到的所有教程都包含XCode(而我的構建是使用Makefiels和g ++完成的)。

可有人後步步爲使用與G ++構建的應用程序鯊魚一步的指示?這樣說:

int main() { while(1); } 

g++ blah.cpp -o blah; do I need to give it more command line arguments? 

how do I use shark here? 
+0

你考慮使用DTrace(帶GUI程序調用的工具)? –

回答

3

儀器化分析,如gprof的不是特別有用,除非你真的只是想了解調用圖和函數調用的次數。性能分析更有用的是採樣分析器,對於這款蘋果的鯊魚工具(CHUD的一部分)來說是最好的之一。

你真的不需要使用Xcode的鯊魚下建立圖譜的應用 - 我有,我有鯊魚的所有時間分佈Makefile中內置的命令行工具。您可以觸發您的代碼中自動鯊魚(有一對夫婦爲這個不同的API),或者你可以使用「chudRemoteCtrl」命令行工具(man chudRemoteCtrl),或者你可以只配置在鯊魚的啓動選項來設置可執行文件路徑,工作目錄,命令行參數等,然後離開你。請確保您使用-g構建應用程序,以便Shark可以顯示源代碼而不是反彙編對象代碼。

Shark configuration for command line tool http://www.freeimagehosting.net/uploads/386737a1fa.jpg

1

這裏有一個relevant thread

不幸的是,我不知道如何在Mac OS X上的命令行這樣做,我跑10.6 ... 我通常讓Xcode的魔法接管:-S