gcov

    1熱度

    1回答

    我使用LCOV作爲我的代碼覆蓋率的圖形方法,告訴我我測試了多少代碼,但它包括我不關心的代碼文件夾,以及這使得我的報道低於實際情況。 有沒有辦法排除整個目錄,我可以忽略一堆我不關心的cpp文件?我知道--remove,但這似乎不適用於此目的。我要排除以下這種模式的所有文件夾: 的src/GeneralSubSystems/GA /除了迭代器 這裏是我想忽略 **Src/GeneralSubSyste

    0熱度

    1回答

    我開始使用Gcov來分析我的C程序。所以我在GCOV文檔的介紹中讀到: 「因爲gcov按行(以最低分辨率)累計統計數據,所以它最適合使用每行僅放置一條語句的編程風格。」 GCov Documentation 寫了一些簡單的程序,我注意到在執行包含在「for」子句中的語句的計算次數的問題。 我要告訴你兩個例子,以及這些的gcov輸出,: -: 0:Source:example1.c -:

    2熱度

    2回答

    我理解兩個編譯器標記:-ftest-coverage -fprofile-arcs需要通過以獲取GCC中的代碼覆蓋率。 我的問題是,有2個編譯器標誌獲得覆蓋的原因是什麼。另外,如果我們獨立使用它們,我們會得到什麼? 我試着用-fprofile-arcs標誌編譯c程序。我沒有注意到任何差異。之所以能夠如果檢查the documentation爲-fprofile-arcs你會看到,它產生的數據可用於

    1熱度

    1回答

    背景 我們有我們的嵌入式GUI產品測試,當測試者宣稱「測試失敗」,有時它是很難讓我們的開發人員重現確切的問題,因爲我們沒有確切的發生的事情。 我們目前有一個日誌框架,但我們開發人員必須在代碼中手動輸入這些日誌語句,這很好。 。 。除非發生難以重現的錯誤,並且我們在「正確」位置沒有記錄聲明,然後重新構建時,使用相同步驟重新運行測試,我們會得到不同的結果。 發行 願我們的解決方案,其中編譯器生成額外的

    0熱度

    1回答

    在CMake的測試配置中,我添加標記生成代碼覆蓋率 IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-co

    0熱度

    1回答

    我試圖用gcov生成覆蓋信息。配置有點棘手。我有一些測試從同一臺機器上運行。其他在Matlab中實現並遠程訪問測試機器上的可執行文件。當測試文件從同一臺機器上執行時,會生成.da文件。但是,當我運行使用遠程測試機器上的可執行文件的Matlab測試文件時,不會創建.da文件。我以root訪問遠程訪問測試機器,所有權限似乎都是正確的。任何想法爲什麼.da文件不會在遠程訪問可執行文件時生成?

    0熱度

    1回答

    我正在用C++編寫一些測試,並且我正在使用gcov(實際上lcov,但我認爲它在旁邊)來獲取有關覆蓋範圍的信息。 有沒有辦法在運行時禁用信息記錄? E.G. : bool myTest() { ObjectToTest obj; /* Enable gcov... */ obj.FunctionToTest(); /* ...Disable gcov

    0熱度

    1回答

    我有一個SonarQube 5.6安裝,使用C/C++插件3.12來分析我們的項目。我已經生成了覆蓋率結果(gcov),但到目前爲止僅適用於其中一個應用程序C文件。覆蓋率達到98.3%。 分析整個項目的應用程序覆蓋率結果得到「導入」,我可以在Web界面上跟蹤它們。 在頂級代碼頁上,包含該文件的文件夾顯示98.3%,在我看來這是不正確的,因爲對於所有其他C文件,沒有覆蓋率可用。我試圖表明,在下面的一

    0熱度

    1回答

    當我使用「--coverage -fprofile-arcs -ftest-coverage」構建覆蓋測試項目時,然後將構建和源移至其他用戶目錄以執行測試。我會遇到很多問題,如「xxx/cc/cc/getopt_log.c:無法打開源文件」 詳情如下: 處理cs/CMakeFiles/cfa/__/src/base/fault_injection。 c.gcda /home/cov/build/x

    7熱度

    1回答

    我正在使用GCC 4.9和GCOV來獲取代碼和分支機構覆蓋範圍。然而,分支覆蓋的結果對我的C++代碼來說完全沒有用處。儘管使用了我所知道的所有-fno-*-inline標誌,但似乎GCC內聯模板。 這裏是一個小例子應用程序,說明了這個問題: #include <string> #include <iostream> using namespace std; int main() {