robot
最新文章(10)
Mqskit 和其它相關工具
CPython 的 GC 二、三事
寫 Mecurial Extension 是件快樂的事!
Mozilla 台灣辨公室徵人啟事
關於 Apple 的兩項專利
core dump 之前的 frame
怎麼發出 beep 聲?
先承認你要找的是奴才吧!
程式碼要清的多乾淨?
FreeBSD 的 Thread-Local Storage 實作
首頁
新編
最新留言
Entries RSS
重要關鍵字(10)
coding (122)
Python (93)
FreeBSD (71)
WEB (61)
URL (48)
hardware (46)
javascript (36)
Linux (34)
blog (30)
C++ (16)
所有關鍵字
新增 URL
gprof 需要 static link
by thinker
2 Columns
關鍵字:
coding
今天在為 linkname:MadButterfly http://www.assembla.com/spaces/MadButterfly 做 profiling ,使用 gprof 。原本以為很快就可以完成,沒想到也花了一個下午。實際上是被一個問題所困, profiling 的結果沒包括 Cairo 。 哈!! 預料中, Cairo 應該是用掉最多 CPU time 的,怎麼能漏掉呢? 於是我重新 make Cairo ,確定 compile 時有加 `-pg' 的參數。沒錯,使用 gprof 時, compiling 要加參數 `-pg' , gcc 才會在產出的 code 裡面,加入一些支援 gprof 所需的 code 。 在花了一個下午的嘗試之下,還是沒辨法順利完成 profiling 。懷著恨意之下,我透過 `ldd' 、 `nm' 和 `objdump' ..... 等工具,試圖找出任何有用的線索。最後我發現一件事時,所有支援 gprof 的 library ,也就是 libxxx_p.* 都是 libxxx_p.a 的形式,也就是 static linking 。沒錯,的確是要 static linking 才能進行 profiling 。於是,我改用 static link ,指定 link /usr/local/lib/libcairo.a ,一擊命中。 == 結論 == 「使用 gprof 時,記得 static link 要 profiling 的對象。」
最後更新時間: 2008-09-24 22:00:33 CST |
引用
查詢:
COMMENTS: