有人可以告訴我如何使用GNU profiler分析C程序中的單行或代碼塊? 我用gprof ./a.out gmon.out
這給我扁平的配置文件和調用圖。但是,我希望看到更頻繁訪問的行。由GNU提供的C程序的行級別分析
感謝,
有人可以告訴我如何使用GNU profiler分析C程序中的單行或代碼塊? 我用gprof ./a.out gmon.out
這給我扁平的配置文件和調用圖。但是,我希望看到更頻繁訪問的行。由GNU提供的C程序的行級別分析
感謝,
這大概是那些你不知道你應該一派術語的一件事,所以我會回答它:
你正在尋找任期「註釋」 - 您想註釋源代碼並在代碼中逐行查看。
使用-A
標誌調用gprof將轉儲出每行被捕獲的樣本。
另請參見:
https://sourceware.org/binutils/docs/gprof/Annotated-Source.html
但它不會逐行給你包容。 (如果一行是一個很慢的函數調用,它不會看到它。)它也不會給你掛鐘時間。 (這對I/O來說是盲目的。) – 2014-09-29 18:44:58
謝謝,我在這裏找到了答案https://gcc.gnu.org/onlinedocs/gcc/Invoking-Gcov.html :) – mOna 2014-09-29 20:08:28
好吧,我會後這個答案,所以如果像我這樣一個新手尋找它可以找到它更快:) 這裏的步驟:source
gcc -fprofile-arcs -ftest-coverage fourcefile.c
(在編譯文件* .gcno的末尾將生成)gcov sourcefile.c
(在運行後,會生成包含其中包含了所有必需的信息文件(* .gcov)結束)
提取這些行成自己的功能?這個想法「做了功能B的行動A需要很長時間」讓我覺得行動A首先應該是它自己的功能。 – Carl 2014-09-29 18:17:49
雖然這似乎是一個答案:http://stackoverflow.com/questions/3263573/is-there-a-profiler-for-c-gcc-to-profile-code-lines-separately?rq=1 – Carl 2014-09-29 18:18:47