代码覆盖率命令行
?
用gcc編譯的時(shí)候加上-fprofile-arcs和 -ftest-coverage 選項(xiàng),鏈接的時(shí)候加上-lgcov
執(zhí)行程序之后,會(huì)產(chǎn)生*.gcno和*.gcda文件
*.gcno 是由加了-ftest-coverage參數(shù)后編譯產(chǎn)生的,它包含了重建基本塊圖和響應(yīng)的塊的源碼的行號(hào)的信息。
*.gcda是在運(yùn)行結(jié)束加了-fprofile-arcs參數(shù)后編譯生成的文件所產(chǎn)生的,它包含了弧跳變的次數(shù)和其他的概要信息
?
lcov --directory . --capture --output-file all.info 搜集當(dāng)前目錄及其子目錄下面所有的代碼覆蓋率信息到文件app.info
或者簡(jiǎn)寫(xiě)為:lcov -d . -c -o all.info
lcov --remove all.info 'dir1/*' 'dir2/*' 'dir3/file1' -o result.info 移除指定目錄下的代碼覆蓋率信息
lcov --extract all.info '*/src/*' '*/lib/*' -o result.info 只要src和lib目錄下的覆蓋率信息
genhtml -o results result.info 將代碼覆蓋率信息轉(zhuǎn)為html文件格式,存放到results目錄下
總結(jié)
- 上一篇: shell经典脚本或命令行
- 下一篇: linux环境valgrind 安装