2008-09-01 31 views
5

是否可以使用gcov進行多線程應用程序的覆蓋測試?適用於多線程應用程序的GCOV

我設置我們的代碼庫的一些瑣碎的測試,但它會是不錯的,我們正在實現覆蓋的一些想法。如果gcov不合適,任何人都可以推薦一個替代工具(可能的oprofile),理想情況下有一些關於入門的好文檔。

回答

8

我們當然使用gcov來獲取我們的多線程應用程序的覆蓋信息。

你想用gcc 4.3可以對動態代碼做報道編譯。

您編譯與-fprofile-arcs -ftest-coverage選項,該代碼會產生.gcda文件,這對gcov可以再處理。

我們做我們產品的一個單獨的生成,並收集覆蓋上,運行單元測試和迴歸測試。

最後我們使用lcov生成HTML結果頁面。

1

gcov的多線程應用程序工作正常。儀表體系結構已正確序列化,因此您將獲得高保真度的覆蓋數據。

我會建議使用gcov的結合lcov。這將爲您提供從完整項目到單個源文件的大範圍報告。

LCOV也給你一個源代碼很好的顏色編碼的HTML版本,讓您可以快速評估您的覆蓋面失誤。