我需要在我們的系統中GPROF庫檢查函數調用,看看我們是否可以再優化。基本上,我有什麼是使用共享庫myLib.sogprof的圖書館 - 問題
我想GPROF的myLib.so
可執行文件。當我使用-pg選項編譯myLib.so源代碼時,它會生成一個.so文件。
但是,重新編譯可執行鍼對圖書館不產生由於某些原因,* .gmon文件。需要做什麼?我應該靜態鏈接myLib嗎?如果是這樣,請告訴我如何。我是一個新手,所以請原諒我的無知。我每天的學習提前
感謝。
我需要在我們的系統中GPROF庫檢查函數調用,看看我們是否可以再優化。基本上,我有什麼是使用共享庫myLib.sogprof的圖書館 - 問題
我想GPROF的myLib.so
可執行文件。當我使用-pg選項編譯myLib.so源代碼時,它會生成一個.so文件。
但是,重新編譯可執行鍼對圖書館不產生由於某些原因,* .gmon文件。需要做什麼?我應該靜態鏈接myLib嗎?如果是這樣,請告訴我如何。我是一個新手,所以請原諒我的無知。我每天的學習提前
感謝。
你可以使用一個良好的採樣分析器像RotateRight/Zoom,或者你可以嘗試this technique。另外lsstack服務良好。 的pstack確實太少,但對於你更多的工作。
我有同樣的問題,但我認爲做的最好的事情就是創建一個使用該庫的一些測試呼叫一個小的C/C++程序,用-pg與庫編譯它,和輪廓。 這樣你就可以很好地將圖書館的分析問題與其他內容分離開來。
由於http://sourceware.org/binutils/docs/gprof/Implementation.html和https://stackoverflow.com/a/7290284/885650指出,鏈接時需要-pg,因爲它在任何地方都會添加額外的代碼。
gprof的替代話題現在是http://archive.today/9r927。 – dragosht 2014-07-07 19:48:43