gprof on intel Mac |
2010/08/06 ~ 阿亮 ~ |
◎ 最近在 Mac OSX 用 gprof 發現 "all time zero" 的問題
都會有類似下面的字眼
granularity: each sample hit covers 4 byte(s) no time propagated
然後,所有的時間都是零。
根據這篇 所言:
gprof only works on the Mac if you are NOT using an Intel mac. If you are using an Intel Mac, then STOP WASTING your time trying to fix the gprof "all zero seconds" problem. Apple says that gprof does not work for the Intel Mac.
就是說,intel Mac 下這個問題無解。
要改用 Xcode 所附的工具 Saturn. (可用 Spotlight 找)
Saturn 詳細使用方法,參考這裡 。
簡單來說,要帶下列的參數來編繹。
gcc example1.c -pg -finstrument-functions -m32 -lSaturn -o example1
◎ memory debug in Mac OSX
另外,若要類似 purify 來找 memory leak, 可以試試 Valgrind .
Gnu 提供一篇不錯 Memory Hunting 的文章 。