2010年11月13日 星期六

gcov - linux code coverage analysis tool

gcov也是一款linux底下用來分析程式的tool,透過gcov的處理,programmer可以快速地得知每一行instruction在整個執行過程中總共執行過幾次,以便修改code來改善程式的品質

環境

作業系統: Linux OS
軟體: gcov & gcc(or g++)

前置步驟

1.編譯程式
使用gcc(or g++)編譯source code時加上-ftest-coverage -fprofile-arcs參數
[awkman@edalab ~]$ g++ -ftest-coverage -fprofile-arcs fm.cpp -o fm

2.執行程式
完整跑完編譯出來的程式後,會自動產生一.gcno .gcda檔案在當前工作目錄內

3.利用gcov產生想分析的source code的檔案
[awkman@edalab ~]$ gcov fm.cpp

4.檢視(請用習慣的editor開啟)上一步產生的分析檔
[awkman@edalab ~]$ vi fm.cpp.gcov


gcov文件內容

gcov產生的文件很簡單,就是原本的原始碼再加上在每一行的左邊都有行數和執行的次數,如果是#####代表該行instruction沒有執行過


Reference

GNU/Linux Application Programming
感謝NCKU IDEAL Lab 碩一同學暑假期間的教學

0 意見:

張貼留言