![](/img/trans.png)
[英]On MacOSX, using g++, is std::vector .size() thread safe?
[英]Profiling g++ app on MacOSX?
我的標准Linux分析應用程序方式是:
1) compile with g++ -pg
2) run prog
3) gprof
顯然gprof在MacOSX 10.5上很流行,我應該使用Shark。 我發現aby Shark的所有教程都涉及XCode(而我的構建是用Makefiels和g ++完成的)。
有人可以發布在使用g ++構建的應用程序上使用shark的分步說明嗎? 說出類似的話:
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?
除非你真的只想知道調用圖和調用函數的次數,否則像gprof這樣的有組織的分析並不是特別有用。 對性能分析更有用的是采樣分析器,對於這個Apple的Shark工具(CHUD的一部分)是最好的之一。
你真的不需要使用Xcode來構建一個用於在Shark下進行性能分析的應用程序 - 我有使用Makefiles構建的命令行工具,我一直在使用Shark進行分析。 您可以從代碼中自動觸發Shark(有幾個不同的API),或者您可以使用“chudRemoteCtrl”命令行工具( man chudRemoteCtrl
),或者您可以在Shark中配置啟動選項來設置可執行文件路徑,工作目錄,命令行參數等,然后離開。 確保使用-g
構建應用程序,以便Shark可以顯示源代碼而不是反匯編的對象代碼。
命令行工具的Shark配置http://www.freeimagehosting.net/uploads/386737a1fa.jpg
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.