2016-07-25 63 views
0

正如我所知的編譯代碼與-fprofile-arcs標誌使得代碼執行後生成.gcda文件。編譯完成後,再加上-ftest-coverage標誌,然後是.gcno文件,可以獲得有關執行哪些代碼和多少次的信息並獲得所謂的代碼覆蓋率報告。是否可以從gcda文件中獲得「執行時間消耗」信息?

是否有可能以類似的方式從.gcna文件獲取與gprof類似的配置文件信息,如函數調用count和執行時間信息?

回答

0

我不敢這樣說,但是你錯在這裏的術語。

GPROF:它是一個C/C++程序分析器。其目的是爲特定執行生成分析信息,其中包括性能統計信息,如不同功能之間的控制流,以及與父功能和子功能單獨消耗的傳播時間的關係。所以,這裏的重點是找到程序中的性能降低點。

凡爲,

gcov的:它是一個C/C++覆蓋率分析工具。其目的是獲得每個語句,分支和塊的執行次數。所以,這裏的重點只是獲取覆蓋率統計信息。

因此,故事的寓意是這兩種工具有不同的生活目的。 ;)

如果您希望同時獲得可以使用gprof的信息,儘管它在很多情況下都有侷限性,但它也會爲您提供覆蓋信息和方法級別粒度。

相關問題