真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

gcov使用注意事項(xiàng)-創(chuàng)新互聯(lián)

以前做過一些gcov方面的工作,最近又做,發(fā)現(xiàn)一些踩過的坑被忘記了,又整理了一遍,防止再次出現(xiàn)類似情況。

成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括蒲縣網(wǎng)站建設(shè)、蒲縣網(wǎng)站制作、蒲縣網(wǎng)頁制作以及蒲縣網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,蒲縣網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到蒲縣省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

使用gcov測(cè)試代碼覆蓋率的流程是:
添加編譯選項(xiàng)和鏈接選項(xiàng)-----》運(yùn)行程序(設(shè)置GCOV_PREFIX,設(shè)置GCOV_PREFIX_STRIP環(huán)境變量)-----》讓程序正常結(jié)束(kill不會(huì)生成相關(guān).gcda文件)-----》運(yùn)行g(shù)cov命令手動(dòng)分析或用lcov來分析,lcov可能需要手動(dòng)安裝,安裝地址https://github.com/linux-test-project/lcov.git

1,在編譯選項(xiàng)中添加-ftest-coverage -fprofile-arcs,
-fkeep-static-functions -fkeep-inline-functions選項(xiàng)可另行選用
在鏈接選項(xiàng)中添加 -lgcov,特別要注意,編譯生成的.so中,也要鏈接-lgcov,
即在生成的可執(zhí)行程序和.so中,都需要鏈接-lgcov

2,運(yùn)行程序,先設(shè)置GCOV_PREFIX和GCOV_PREFIX_STRIP環(huán)境變量,也可以不設(shè)置,不設(shè)置時(shí),生成的.gcda文件在make時(shí)的目錄及其子目錄下,即與相關(guān)的源代碼路徑相同,只是文件名不同。
這兩個(gè)變量,可以控制生成的.gcda的位置
GCOV_PREFIX_STRIP去掉原代碼路徑中的前幾級(jí),
比如源代碼路徑為/a/b/c/d.cpp,如果GCOV_PREFIX_STRIP=2
則實(shí)際使用的路徑是c/d.cpp
如果GCOV_PREFIX=/run/gcov,則.gcda實(shí)際存放的路徑是/run/gcov/c/d.gcda

程序運(yùn)行后,可以進(jìn)行正常的業(yè)務(wù)測(cè)試

3,讓程序正常結(jié)束,比如處理特定信號(hào)并exit(0),或其他方式,把程序kill掉不會(huì)生成相關(guān)的.gcda

4,gcov命令分析見 gcov -h,下面附一個(gè)lcov的小腳本:

#!/bin/sh

#如果lcov沒有裝,要先裝lcov
#可以從 https://github.com/linux-test-project/lcov.git 上裝
#使用前注意事項(xiàng)
#1,啟用gcov相關(guān)編譯選項(xiàng),見make gcov=1
#2,需要在程序運(yùn)行并正常退出后,運(yùn)行此腳本,生成相關(guān)覆蓋率文件

echo "check lcov cmd"
lcov=$(command -v lcov | wc -l)
if [[ ${lcov} == 0 ]]; then
    echo 請(qǐng)先安裝 lcov, 安裝來源可以參考 https://github.com/linux-test-project/lcov.git
    exit 0
fi

echo "creating ../gcov"
if [[! -d ../gcov ]]; then
    mkdir ../gcov
fi

echo "creating ../gcov/gcov.info"
lcov -c -o ../gcov/gcov.info -d ../src

echo "creating htmls "
if [[! -d ../gcov/html ]]; then
    mkdir ../gcov/html
fi

genhtml -o ../gcov/html ../gcov/gcov.info

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


文章名稱:gcov使用注意事項(xiàng)-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://weahome.cn/article/ceiedj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部