2013-07-25 62 views

回答

3

但是,當我叉其他可執行

它可能確實是gmon.out不會創建。它只是與其他所有gmon.out文件具有相同的名稱。他們只是默默地覆蓋對方。

GNU以其無限的智慧,建議您要配置的每個子進程都在其當前目錄中執行。根據需要在您的代碼中使用mkdirchdir。由於gmon.out在處理完成時寫出,所以在致電exit之前僅需chdir

我也推薦看看valgrind。除其他好事外,它的輸出文件名爲something.somethingelse.$PID

+0

來自IBM(AIX)的相同建議:https://computing.llnl.gov/tutorials/performance_tools/man/gprof.txt「使用fork和exec子例程進行性能分析」部分,「* ..解決此問題的方法之一就是調用'chdir'子例程來改變子進程的當前目錄。*「 – osgx

0

當您設置GMON_OUT_PREFIX=some_file_name環境變量時,gprof將爲名爲some_file_name.pid的每個子進程創建其他gmon文件。