ืืืื ืืคืงืืื alpha-linux-gnu-gcov ืฉื ืืชื ืืืจืืฅ ืืกืคืง ืืืืจืื ืืืื ืื ืฉื OnWorks ืืืืฆืขืืช ืืืช ืืชืื ืืช ืืขืืืื ืืืงืืื ืืช ืืืจืืืืช ืฉืื ื, ืืืื Ubuntu Online, Fedora Online, ืืืืืืืจ ืืงืืื ืฉื Windows ืื ืืืืืืืจ ืืงืืื ืฉื MAC OS
ืชึธืึฐื ึดืืช:
ืฉืึตื
gcov - ืืื ืืืืืงืช ืืืกืื
ืชึทืงืฆึดืืจ
gcov [-v|--ืึดืจึฐืกึธื] [-h|- ืขืืจื]
[-a|-- ืื ืืืืืงืื]
[-b|--ืกื ืืฃ-ืืกืชืืจืืืืช]
[-c|--ืกื ืืคื-ืกืคืืจืืช]
[-d|--ืชืฆืืื-ืืชืงืืืืช]
[-f|--ืกืืืืื ืคืื ืงืฆืืืช]
[-i|--ืคืืจืื ืืื ืื ื]
[-l|-- ืฉืืืช ืงืืฆืื ืืจืืืื]
[-m|--ืฉืืืช ืืขืืจืคืืื]
[-n|--ืืื ืคืื]
[-o|---object-directory ืกืคืจืืื|ืงืืืฅ]
[-p|--ืฉืืืืจ-ื ืชืืืื]
[-r|--ืืืกื ืืืื]
[-s|--ืชืืืืืช ืืงืืจ ืืกืคืจืืื]
[-u|--ืขื ืคืื ืืื ืชื ืื]
ืงืืฆืื
ืชืืืืจ
gcov ืืื ืชืืื ืืช ืกืืงืืจ ืืืื. ืืฉืชืืฉ ืื ืืฉืืชืืฃ ืขื GCC ืืื ืื ืชื ืืช ืืชืืื ืืืช ืฉืื
ืืขืืืจ ืืืฆืืจ ืงืื ืจืืฆื ืืขืื ืืืืืจ ืืืชืจ ืืืืืืช ืืืงืื ืฉืื ื ืืืงื ืฉืื
ืชืื ืืช. ืืชื ืืืื ืืืฉืชืืฉ gcov ืืืื ืืืฆืืจืช ืคืจืืคืื ืืื ืืขืืืจ ืืืืืช ืืืื ืืืืคืืืืืืฆืื ืฉืื
ืืืืืฆืื ืืฉืคืืขื ืืฆืืจื ืืืืื ืืืืชืจ ืขื ืืงืื ืฉืื. ืืชื ืืืื ืื ืืืฉืชืืฉ gcov ืืื ืขื ืืคืจืืคืื ืืฉื ื
ืืื, gprof, ืืื ืืืขืจืื ืืืื ืืืงืื ืืงืื ืฉืื ืืฉืชืืฉืื ืืืืืช ืืืืืื ืืืืชืจ ืฉื ืืื ืืืฉืื.
ืืื ืืฆืืจืช ืคืจืืคืื ืขืืืจืื ืื ืื ืชื ืืช ืืืฆืืขื ืืงืื ืฉืื. ืฉืืืืฉ ืืคืจืืคืืืื ืืืื gcov
or gprof, ืชืืื ืืืืืช ืืื ืกืืืืกืืืงืืช ืืืฆืืขืื ืืกืืกืืืช, ืืืื:
* ืืืืื ืชืืืจืืช ืื ืฉืืจืช ืงืื ืืืคืขืืช
* ืืืื ืฉืืจืืช ืงืื ืืืืฆืขืืช ืืคืืขื
* ืืื ืืื ืืืฉืื ืื ืืืง ืฉื ืงืื ืืฉืชืืฉ
ืืจืืข ืฉืืชื ืืืืข ืืช ืืืืจืื ืืืื ืขื ืืื ืืงืื ืฉืื ืขืืื ืืฉืืื ืืืจืื, ืืชื ืืืื ืืืกืชืื ืขื ืื ืืื ืืื
ืืืืื ืืื ืืจืืืช ืืืื ืืืืืืื ืืฉ ืืืฆืข ืืืคืืืืืืฆืื. gcov ืขืืืจ ืื ืืงืืืข ืืืื ืืขืืื
ืขื ืืืคืืืืืืฆืื.
ืืคืชืื ืชืืื ื ืืฉืชืืฉืื ืื ืืืืืงืืช ืืืกืื ืืฉืืืื ืขื ืืืืืืช ืืืืงืืช, ืืื ืืืืื
ืืชืืื ื ืืื ืืืขืฉื ืืกืคืืง ืืืื ืืฉืืจืืจ. Testsuites ืืืื ืืืืช ืฉืชืืื ืืช
ืขืืื ืืฆืคืื; ืชืืื ืืช ืืืกืื ืืืื ืช ืืื ืืจืืืช ืืื ืืืชืืื ืืช ืืืคืขื ืขื ืืื
ืืืืืช ืืืืืงืืช. ืืคืชืืื ืืืืืื ืืืืจ ืืื ืืงืืืข ืืืืื ืกืืื ืืงืจื ืืืืงื ืืฉ ืืืืกืืฃ
ืืืืืืช ืืืืืงื ืืื ืืืฆืืจ ืื ืืืืงืืช ืืืืืช ืืืชืจ ืืื ืืืฆืจ ืกืืคื ืืื ืืืชืจ.
ืขืืื ืืืจืืื ืืช ืืงืื ืฉืื ืืื ืืืคืืืืืืฆืื ืื ืืชื ืืชืื ื ืืืฉืชืืฉ gcov ืืืื
ืืืคืืืืืืฆืื, ืขื ืืื ืฉืืืื ืฉื ืืื ืฉืืจืืช ืงืื ืืคืื ืงืฆืื ืืืช, ืขืฉืืื ืฉืื ืืชืช ืื ืื ืื ืืจืื
ืืืืข ืืคื ืฉืืชื ืฆืจืื ืืื ืืืคืฉ 'ื ืงืืืืช ืืืืช' ืฉืืื ืืงืื ืืฉืชืืฉ ืืืจืื
ืืื ืืืฉื. ืืื ืื, ืื gcov ืฆืืืจ ื ืชืื ืื ืกืืืืกืืืื ืืคื ืฉืืจื (ืืื ืืคืืืช
ืจืืืืืฆืื), ืื ืขืืื ืืื ืืื ืขื ืกืื ืื ืชืื ืืช ืฉืืฆืื ืจืง ืืฆืืจื ืืืช ืขื ืื ืืื
ืงึทื. ืื ืืชื ืืฉืชืืฉ ืืคืงืืืืช ืืืงืจื ืืกืืืืืช ืฉืืชืจืืืืช ืืืืืืืช ืื ืืืื ื ืืงืจื ืืืจืื,
ืื ืชืื ืื ืืกืืืืกืืืื ืคืืืช ืืืขืืืื --- ืื ืืืืืืื ืจืง ืขื ืืงื ืฉืื ืืชืงืฉืจืช ืืืืงืจื
ืืืคืืข. ืื ืคืงืืืืช ืืืืงืจื ืืืืจืืืืช ืฉืื ืืชื ืืืืช ืืื ืคืื ืงืฆืืืช, ืชืืื ืืืืืืฃ ืืืชื ืืฉืืจื
ืคืื ืงืฆืืืช ืืื ืืคืชืืจ ืืขืื ืื.
gcov ืืืฆืจ ืงืืืฅ ืืืื ืฉื ืงืจื sourcefile.gcov ืื ืฉืืฆืืื ืืื ืคืขืืื ืื ืฉืืจื ืฉื
ืงืืืฅ ืืงืืจ sourcefile.c ืืืฆืื ืืืืจื. ืืชื ืืืื ืืืฉืชืืฉ ืืงืืฆื ืืืื ืืื ืืื ืขื gprof ื
ืืกืืืข ืืืืื ืื ืขืืื ืฉื ืืืฆืืขื ืืชืืื ืืืช ืฉืื. gprof ื ืืชื ืื ืืืืข ืขื ืชืืืื
ืืืื ืืืฉืชืืฉ ืืื ืขื ืืืืืข ืฉืืื ื ืืชื ืืงืื gcov.
gcov ืขืืื ืจืง ืขื ืงืื ืืืืืจ ืขื GCC. ืื ืื ืชืืื ืืื ืคืจืืคืื ืืืจ
ืื ืื ืื ืื ืืืกืื ืืืืงื.
ืืคืฉืจืืืืช
-h
- ืขืืจื
ืืฆื ืขืืจื ืืืื ืืฉืืืืฉ gcov (ืขื ืืคืื ืืกืื ืืจืื), ืืฆื ืืืื ืืขืฉืืช ืืืจ
ืขืืืื ื ืืกืฃ.
-v
--ืึดืจึฐืกึธื
ืืฆื ืืช gcov ืืกืคืจ ืืจืกื (ืืคืื ืืกืื ืืจืื), ืืฆื ืืืื ืืขืฉืืช ืืืจ
ืขืืืื ื ืืกืฃ.
-a
-- ืื ืืืืืงืื
ืืชืื ืกืคืืจืืช ืืืฆืืข ืืืืืืช ืขืืืจ ืื ืืืืง ืืกืืกื. ืืืจื ืืื ืคืืื gcov
ืืืฆืืข ืกืืคืจ ืจืง ืขืืืจ ืืืืืงืื ืืจืืฉืืื ืฉื ืงื. ืขื ืืคืฉืจืืช ืื ืืชื ืืืื
ืืงืืืข ืื ืืืืงืื ืืชืื ืฉืืจื ืืืืืช ืืื ื ืืืืฆืขืื.
-b
--ืกื ืืฃ-ืืกืชืืจืืืืช
ืืชืื ืชืืจื ืขื ืฃ ืืงืืืฅ ืืคืื, ืืืชืื ืืืืข ืกืืืื ืขื ืฃ ื-
ืคืื ืกืื ืืจืื. ืืคืฉืจืืช ืื ืืืคืฉืจืช ืื ืืจืืืช ืืืืื ืชืืืจืืช ืื ืกื ืืฃ ืืชืืื ืืช ืฉืื
ื ืืงื. ืกื ืืคืื ืืื ืชื ืื ืื ืืืฆืื, ืืื ืื ืื -u ื ืืชื ืช ืืคืฉืจืืช.
-c
--ืกื ืืคื-ืกืคืืจืืช
ืืชืื ืืช ืชืืืจืืืืช ืืกื ืืคืื ืืืกืคืจ ืืขื ืคืื ืฉื ืืงืื, ืืืงืื ืืืืื
ืฉื ืขื ืคืื ืฉื ืืงืื.
-n
--ืืื ืคืื
ืื ืชืืฆืืจ ืืช gcov ืงืืืฅ ืคืื.
-l
-- ืฉืืืช ืงืืฆืื ืืจืืืื
ืฆืืจ ืฉืืืช ืงืืฆืื ืืจืืืื ืขืืืจ ืงืืืฆื ืืงืืจ ืืืืืื. ืืืืืื, ืื ืงืืืฅ ืืืืชืจืช xh
ืืืื ืงืื, ืื ืืื ืืงืืืฅ ac, ืืื ืจืฅ gcov ืขื ืืงืืืฅ ac
ืืคืืง ืงืืืฅ ืคืื ืืฉื ac##xhgcov ืืืงืื xhgcov. ืื ืืืื ืืืืืช
ืฉืืืืฉื ืื xh ืืืื ืืืกืคืจ ืงืืืฆื ืืงืืจ ืืืชื ืจืืฆื ืืจืืืช ืืช ืืคืจื
ืชืจืืืืช. ืื ืืชื ืืฉืชืืฉ ื- -p ืืคืฉืจืืช, ืื ืฉืืืช ืืงืืฆืื ืืืืืืื ืืื ืฉืืืช ืืงืืฆืื ืืืืืืื
ืืืื ืฉืืืช ื ืชืืืื ืฉืืืื.
-p
--ืฉืืืืจ-ื ืชืืืื
ืฉืืืจ ืืืืข ืืื ืขื ืื ืชืื ืืฉืืืช ืฉื ืืฆืจื .gcov ืงืืฆืื. ืึฐืึนื
ืืคืฉืจืืช ืื, ื ืขืฉื ืฉืืืืฉ ืจืง ืืจืืื ืฉื ืืงืืืฅ. ืขื ืืคืฉืจืืช ืื, ืื ืืืืจืืืื
ืืฉืืฉืื, ืขื / ืชืืืื ืืชืืจืืืื ื # ืชืืืื, . ืจืืืื ืกืคืจืืื ืืืกืจื
ืืืืชื ื ืืชื ืืืกืจื .. ืฉืื ืฉื ืจืืืืื ื ^. ืื ืฉืืืืฉื ืื ืืฉ ืงืืฆื ืืงืืจ
ืืกืคืจ ืืืจืืืื ืฉืื ืื.
-r
--ืืืกื ืืืื
ืคืื ืจืง ืืืืข ืขื ืงืืฆื ืืงืืจ ืขื ืฉื ื ืชืื ืืืกื (ืืืจื ืืงืืจ
ืืืืงืช ืงืืืืืช). ื ืชืืืื ืืืืืืื ืื ืืืจื ืืื ืงืืฆื ืืืชืจืืช ืืขืจืืช ืืืืกืื ืฉื ืื ืงืืืฅ
ืคืื ืงืฆืืืช ืืืืืขืืช ืื ืืืจื ืืื ืื ืืขื ืืื ืืช.
-f
--ืกืืืืื ืคืื ืงืฆืืืช
ืคืื ืกืืืืืื ืขืืืจ ืื ืคืื ืงืฆืื ืื ืืกืฃ ืืกืืืื ืืจืืช ืืงืืืฅ.
-o ืกืคืจืืื|ืงืืืฅ
---object-directory ืืกืคืจืืื
--ืืืืืืงื-ืงืืืฅ ืคืืื
ืฆืืื ืืช ืืกืคืจืืื ืืืืืื ืืช ืงืืืฆื ืื ืชืื ืื gcov, ืื ืืช ืฉื ื ืชืื ืืืืืืืงื.
ืืฉืืืื .gcno, ื .gcda ืืืคืฉืื ืงืืฆื ื ืชืื ืื ืืืืฆืขืืช ืืคืฉืจืืช ืื. ืื ืกืคืจืืื ืืื
ืฉืฆืืื, ืงืืฆื ืื ืชืื ืื ื ืืฆืืื ืืกืคืจืืื ืื ืื ืงืจืืื ืขื ืฉื ืงืืืฅ ืืงืื,
ืืื ืืจืืื ืฉืื. ืื ืืฆืืื ืืื ืงืืืฅ, ืงืืฆื ืื ืชืื ืื ื ืงืจืืื ืขื ืฉืื
ืืงืืืฅ ืืื, ืืื ืืกืืืืช ืฉืื.
-s ืืกืคืจืืื
--ืชืืืืืช ืืงืืจ ืืกืคืจืืื
ืงืืืืืช ืืฉืืืช ืงืืฆื ืืงืืจ ืืืกืจื ืืขืช ืืฆืืจืช ืงืืืฆื ืืืกืื ืืคืื.
ืืคืฉืจืืช ืื ืฉืืืืฉืืช ืืขืช ืื ืืืช ืกืคืจืืื ื ืคืจืืช, ืืืช ืฉื ืื ืชืื ื-
ืกืคืจืืืช ืืงืืจ ืืื ื ืจืฆืืื ืืขืช ืงืืืขืช ืฉืืืช ืงืืฆื ืืคืื. ืฉืืื ืื ืฉืื
ืืืืื ืงืืืืืช ืืืื ืืคื ื ืงืืืขื ืื ืงืืืฅ ืืืงืืจ ืืื ืืืืื.
-u
--ืขื ืคืื ืืื ืชื ืื
ืืืฉืจ ื ืืชื ืืช ืืกืชืืจืืืืช ืขื ืคืื, ืืืื ืืช ืืื ืฉื ืขื ืคืื ืืืชื ืืืชื ืื.
ืขื ืคืื ืืื ืชื ืืื ืืืจื ืืื ืืื ื ืืขื ืืื ืื.
-d
--ืชืฆืืื-ืืชืงืืืืช
ืืฆื ืืช ืืืชืงืืืืช ืืคืื ืืกืื ืืจืื.
-i
--ืคืืจืื ืืื ืื ื
ืคืื ืงืืืฅ gcov ืืคืืจืื ืืงืกื ืืื ืืื ืงื ืื ืืชืื ืฉื ืืชื ืืืฉืชืืฉ ืื lcov
ืื ืืืื ืืืจืื. ืืคืื ืืื ืืืื .gcov ืงืืืฅ ืืื .gcda ืงืึนืึถืฅ. ืืื ืงืื ืืงืืจ
ื ืืจืฉ.
ืืคืืจืื ืฉื ืืืื ืืื .gcov ืืงืืืฅ ืืื ืืงืกื ืจืืื ืขื ืขืจื ืืื ืืื ืฉืืจื
ืงืึนืึถืฅ:
ืคืึผื ืงืฆึดืึธื: , ,
ืกืคืืจื: ,
ืขื ืฃ: ,
ืืืคื ื ืืื
notexec (ืืขื ืฃ ืื ืืืฆืข)
ื ืืงื (ืขื ืฃ ืืืฆื ืืืืจื ืื ืืงื)
nottaken (ืืขื ืฃ ืืืฆื ืืืืจื, ืื ืื ื ืืงื)
ืืืืืื ืืืืืช ืืจืืืื ืขืจืืื ื-gcov ืืื ืืื
ืงืึนืึถืฅ. ืื ืืขืจืืื ืืขืงืืืช ื ืฉืืืืื ืืงืืืฅ ืืืงืืจ ืืื
ืขื ืืื ืึผึฐื ึดืืกึธื.
ืื ื ืืืืื ืืชื -i ืืฉืืฉ ืืฉืืืื ืขื -b ืืคืฉืจืืช:
file:array.cc
function:11,1,_Z3sumRKSt6vectorIPiSaIS0_EE
ืคืื ืงืฆืื:22,1,ืจืืฉื
ืืกืคืจ: 11,1
ืืกืคืจ: 12,1
ืืกืคืจ: 14,1
ืกื ืืฃ:14,ื ืืงื
ืืกืคืจ: 26,1
ืกื ืืฃ:28,ืื ื ืืงื
-m
--ืฉืืืช ืืขืืจืคืืื
ืืฆื ืฉืืืช ืคืื ืงืฆืืืช ืืฉืืืจืจืืช ืืคืื. ืืจืืจืช ืืืืื ืืื ืืืฆืื ืคืื ืงืฆืื ืืขืืืชืช
ืฉืืืช.
gcov ืืฉ ืืืคืขืื ืืช ืืกืคืจืืื ืื ืืืืืช ืืื ืืื ืืืฉืจ ืืคืขืืช ืืช
ืึทืึฐืึตืจ. ืืืจืช ืืื ืื ืืืื ืืืชืจ ืืช ืงืืฆื ืืืงืืจ. gcov ืืืืฆืจ ืงืืฆืื
ื ืงืจื mangledname.gcov ืืกืคืจืืื ืื ืืืืืช. ืืื ืืืืืื ืืช ืืืืข ืืืืกืื
ืฉื ืงืืืฅ ืืืงืืจ ืฉืื ืืชืืืืื ืืืื. ืืื .gcov ืงืืืฅ ืืืคืง ืขืืืจ ืื ืืงืืจ (ืื
header) ืืืืื ืงืื, ืืฉืจ ืืืจืื ืืื ืืืืฆืจ ืืช ืงืืืฆื ืื ืชืื ืื. ื
ืฉื ืืขืืืช ืืืง ืืฉื ืงืืืฅ ืืคืื ืืื ืืืจื ืืื ืคืฉืื ืฉื ืงืืืฅ ืืืงืืจ, ืืื ืืืื
ืืืืืช ืืฉืื ืืืชืจ ืืกืืื ืื -l or -p ื ืืชื ืืช ืืคืฉืจืืืืช. ืขืืื ืืืคืฉืจืืืืช ืืืื
ืืงืืืช ืคืจืืื.
ืื ืืชื ืงืืจื gcov ืขื ืงืืฆื ืงืื ืืจืืืื, ืืชืจืืืืช ืืื ืงืืืฅ ืงืื ืื
ืกืืื. ืืืจื ืืื ืชืคืขืื ืืืชื ืขื ืืืชื ืจืฉืืืช ืงืืฆืื ืืื ืืงืืฉืืจ ืืกืืคื ืฉื
ืงืืืฅ ืืืคืขืื ืฉืื.
ืืฉืืืื .gcov ืงืืฆืื ืืืืืื ืืช : ืฉืืืช ืืืคืจืืื ืืื ืขื ืงืื ืืืงืืจ ืฉื ืืชืืื ืืช. ืืคืืจืื
is
: :
ืืืืข ืืกืืื ื ืืกืฃ ืขืฉืื ืืฆืืื ืื ืฉืืจื, ืืืฉืจ ืชืชืืงืฉ ืขื ืืื ืืคืฉืจืืช ืฉืืจืช ืืคืงืืื.
ืืฉืืืื ืกืคืืจืช_ืืืฆืืข is - ืขืืืจ ืฉืืจืืช ืฉืืื ื ืืืืืืช ืงืื. ืฉืืจืืช ืฉืื ืืืฆืขื ืืกืืื ืืช #####
or ====, ืชืืื ืื ื ืืชื ืืืืืข ืืืืื ืื ืชืืืื ืื ืืจืืืื ืื ืจืง
ื ืชืืืื ืืจืืืื ืืืื C++ ืืืคืื ืืจืืืื, ืืืชืืื.
ืืื ืฉืืจืืช ืืืืข ืืืชืืื ืืฉ ืืกืคืจ ืงื ืฉื ืืคืก. ืฉืืจืืช ืืืงืืื ืืืื ืื
ืฉื ืืืืคืก
-:0: :
ืืืืื ื ืืืืกืคืจ ืฉื ืฉืืจืืช ืืืงืืื ืืืื ืืืืืื ื gcov ืคืืชืื
ืืชืงืื --- ืื ืชืกืืื ืขื ืื ืฉืื ืืืฉืืจื ืืื ืฉืื ืื. ืืืฉืชืืฉ ืชื ืืืชืจ ืืกืืื
ืฉืืจืช ืืืงืืื.
ืืืืข ืืืกืืื ืื ืืกืฃ ืืื ืืืืืคืก
ืืฉืืืื ืืืืข ืืื ืงืจืื ืื ืืฉื, ืืื ืชืืื ื ืืืืืช ืคืฉืื ืืกืคืืง ืขืืืจ ื ืืชืื ืืืื ื
ืืื.
ืืขืช ืืืคืกื ืฉื ืืืืืื, 0% ื-100% ืืืืคืกืื ืจืง ืืืฉืจ ืืขืจืืื ืื ืืืืืง 0% ื
100% ืืืชืืื. ืขืจืืื ืืืจืื ืฉืืืืคื ืจืืื ืืื ืืขืืืืื ื-0% ืื 100%.
ืืืงืื ืืืช ืืืืคืก ืืขืจื ืืื-ืืืื ืืงืจืื ืืืืชืจ.
ืืฉืืฉืชืืฉ gcov, ืชืืืื ืขืืื ืืืจืืื ืืช ืืชืืื ืืช ืฉืื ืขื ืฉืชื ืืคืฉืจืืืืช ืืืืืืืช ืฉื GCC:
-fprofile-arcs -ืืืืกืื ืืืืื ืืืืชืจ. ืื ืืืืจ ืืืืืจ ืืืฆืืจ ืขืื
ืืืืข ืืืจืืฉ ื-gcov (ืืขืฆื ืืจืฃ ืืจืืื ืฉื ืืชืืื ืืช) ืืืืื ืื
ืงืื ื ืืกืฃ ืืงืืฆื ืืืืืืืงื ืืืคืงืช ืืืืข ืืคืจืืคืื ืื ืืกืฃ ืืืจืืฉ
ืืืช gcov. ืงืืฆืื ื ืืกืคืื ืืื ืืืืงืืื ืืกืคืจืืื ืฉืื ื ืืฆื ืงืืืฅ ืืืืืืืงื
ืืืืงื.
ืืคืขืืช ืืชืืื ืืช ืชืืจืื ืืืคืงืช ืคืื ืคืจืืคืื. ืืื ืงืืืฅ ืืงืืจ
ื ืขืจื ืขื -fprofile-arcs, ืืืืื .gcda ืืงืืืฅ ืืืืงื ืืงืืืฅ ืืืืืืืงื
ืืืืจืื.
ืจืืฆื gcov ืขื ืฉืืืช ืงืืฆื ืืืงืืจ ืฉื ืืชืืื ืืช ืฉืื ืืืจืืืื ืืื ืืคืืงื ืืขืช ืจืฉืืื
ืฉื ืืงืื ืืื ืขื ืชืืืจืืช ืืืืฆืืข ืขืืืจ ืื ืฉืืจื. ืืืืืื, ืื ืืชืืื ืืช ืฉืื
ื ืงืจื tmp.c, ืื ืื ืฉืืชื ืจืืื ืืฉืืชื ืืฉืชืืฉ ืืืกืืก gcov ืึดืชืงึธื:
$ gcc -fprofile-arcs -ftest-coverage tmp.c
$ a.out
$ gcov tmp.c
90.00% ื-10 ืฉืืจืืช ืืงืืจ ืืืืฆืขืืช ืืงืืืฅ tmp.c
ืืฆืืจืช tmp.c.gcov.
ืืงืืืฅ tmp.c.gcov ืืืื ืคืื ื gcov. ืื ื ืืืืื:
-: 0:ืืงืืจ:tmp.c
-: 0:Graph:tmp.gcno
-: 0:Data:tmp.gcda
-: 0:ืจืืฆืืช:1
-: 0:ืชืืื ืืืช:1
-: 1:#include
-: 2:
-: 3:int main (void)
1: 4:{
1: 5: int i, ืกื ืืื;
-: 6:
1: 7: ืกื"ื = 0;
-: 8:
11: 9: ืขืืืจ (i = 0; i < 10; i++)
10: 10: ืกื += i;
-: 11:
1: 12: if (ืกื"ื != 45)
#####: 13: printf ("ืืฉื\n");
-: 14: ืืืจ
1: 15: printf ("ืืฆืืื\n");
1: 16: ืืืืจ 0;
-: 17:}
ืืฉืืชื ืืฉืชืืฉ ื- -a ืืคืฉืจืืช, ืชืงืื ืกืคืืจืช ืืืืงืื ืืืืืื, ืืืคืื ื ืจืื
ืืื:
-: 0:ืืงืืจ:tmp.c
-: 0:Graph:tmp.gcno
-: 0:Data:tmp.gcda
-: 0:ืจืืฆืืช:1
-: 0:ืชืืื ืืืช:1
-: 1:#include
-: 2:
-: 3:int main (void)
1: 4:{
1: 4 ืืืืง 0
1: 5: int i, ืกื ืืื;
-: 6:
1: 7: ืกื"ื = 0;
-: 8:
11: 9: ืขืืืจ (i = 0; i < 10; i++)
11: 9 ืืืืง 0
10: 10: ืกื += i;
10: 10 ืืืืง 0
-: 11:
1: 12: if (ืกื"ื != 45)
1: 12 ืืืืง 0
#####: 13: printf ("ืืฉื\n");
$$$$$: 13 ืืืืง 0
-: 14: ืืืจ
1: 15: printf ("ืืฆืืื\n");
1: 15 ืืืืง 0
1: 16: ืืืืจ 0;
1: 16 ืืืืง 0
-: 17:}
ืืืฆื ืื, ืื ืืืืง ืืกืืกื ืืืฆื ืจืง ืืฉืืจื ืืืช - ืืฉืืจื ืืืืจืื ื ืฉื ืืืืืง. ื
ืืืืง ืืจืืื ืฉืืจืืช ืืชืจืื ืจืง ืืกืคืืจืช ืืืืฆืืข ืฉื ืืืชื ืฉืืจื ืืืจืื ื, ืืืืจืืช
ืฉืืจืืช ืื ืืืฆืื ืืืืืืืช ืงืื, ืืื ืื ืืืืงืื ืงืืืืื ืืกืชืืืืื ืืฉืืจืืช ืืื. ื
ืกืคืืจืช ืืืืฆืืข ืืืืืืช ืฉื ืฉืืจื ืืืฆืืช ืืืฉืืจืืช ืืืืืช ืืฆืืืืช ืืช ืกืคืืจืช ืืืืฆืืข
ืขืืืจ ืืืืงืื ืืืืืื ืืืกืชืืืืื ืืงื ืื. ืืืืจ ืื ืืกืืื, ืืกื ืืฃ ืืืงืจืืื ื ืืฉืืื
ืฉื ืืืืืง ืืืฆื, ืื -b ื ืืชื ืช ืืคืฉืจืืช.
ืืืื ืืืืคื ืฉืื GCC ืืืฉืืจ ืฉืืืืช, ื ืืชื ืืืฆืื ืกืคืืจืช ืฉืืืืช ืืืืจ ืฉืืจื ืขื ืืก'
ืืืืงืื ืืืืืื. ืืคื ืฉื ืืชื ืืจืืืช, ืฉืืจื 13 ืืืืื ืืืืง ืืกืืกื ืฉืื ืืืฆืข.
ืืฉืืชื ืืฉืชืืฉ ื- -b ืืคืฉืจืืช, ืืคืื ืฉืื ื ืจืื ืื:
$ gcov -b tmp.c
90.00% ื-10 ืฉืืจืืช ืืงืืจ ืืืืฆืขืืช ืืงืืืฅ tmp.c
80.00% ื-5 ืกื ืืคืื ืฉืืืฆืขื ืืงืืืฅ tmp.c
80.00% ื-5 ืกื ืืคืื ืฉืฆืืืื ืืคืืืช ืคืขื ืืืช ืืงืืืฅ tmp.c
50.00% ื-2 ืงืจืืืืช ืฉืืืฆืขื ืืงืืืฅ tmp.c
ืืฆืืจืช tmp.c.gcov.
ืื ื ืืืืื ืฉื ืชืืฆืื tmp.c.gcov ืงืืืฅ:
-: 0:ืืงืืจ:tmp.c
-: 0:Graph:tmp.gcno
-: 0:Data:tmp.gcda
-: 0:ืจืืฆืืช:1
-: 0:ืชืืื ืืืช:1
-: 1:#include
-: 2:
-: 3:int main (void)
ืืคืื ืงืฆืื main ืฉื ืงืจืื 1 ืืืืืจื 1 ืืืืงืื ืฉืืืฆืขื 75%
1: 4:{
1: 5: int i, ืกื ืืื;
-: 6:
1: 7: ืกื"ื = 0;
-: 8:
11: 9: ืขืืืจ (i = 0; i < 10; i++)
ืขื ืฃ 0 ื ืืงื 91% (ื ืคืืื)
ืกื ืืฃ 1 ื ืืงื 9%
10: 10: ืกื += i;
-: 11:
1: 12: if (ืกื"ื != 45)
ืขื ืฃ 0 ื ืืงื 0% (ื ืคืืื)
ืกื ืืฃ 1 ื ืืงื 100%
#####: 13: printf ("ืืฉื\n");
ืฉืืื 0 ืื ืืืฆืขื ืืขืืื
-: 14: ืืืจ
1: 15: printf ("ืืฆืืื\n");
ืืชืงืฉืจ 0 ืืชืงืฉืจ 1 ืืืืืจ 100%
1: 16: ืืืืจ 0;
-: 17:}
ืขืืืจ ืื ืคืื ืงืฆืื ืืืืคืกืช ืฉืืจื ืฉืืจืื ืืื ืคืขืืื ื ืงืจืืช ืืคืื ืงืฆืื, ืืื
ืคืขืืื ืจืืืช ืืื ืืืืจ ืืืืื ืืืื ืืืืืืงืื ืฉื ืืคืื ืงืฆืื ืืืฆืขื.
ืขืืืจ ืื ืืืืง ืืกืืกื, ืืืืคืกืช ืฉืืจื ืืืจื ืืฉืืจื ืืืืจืื ื ืฉื ืืืืืง ืืืกืืกื ืืืชืืจ
ืืกื ืืฃ ืื ืืฉืืื ืฉืืกืืืืื ืืช ืืืกืืื ืืืกืืกืืช. ืืืืืื ืืืืืช ืืกืคืจ ืกื ืืคืื ืืฉืืืืช
ืจืฉืื ืขืืืจ ืฉืืจืช ืืงืืจ ืืืืืช ืื ืืฉ ืืกืคืจ ืืืืงืื ืืกืืกืืื ืืืกืชืืืืื ืืืืชื ืฉืืจื.
ืืืงืจื ืื, ืืื ืืกื ืืคืื ืืืฉืืืืช ื ืืชื ืืกืคืจ. ืืื ืืจื ืคืฉืืื ืืขืฉืืช ืืืช
ืืคื ืืช ืืขื ืคืื ืืืื ืืงืจืืืืช ืืืจื ืืืื ื ืืงืืจ. ืืืืคื ืืืื, ืขื ืืืช, ืื ืืื ืืืืชืจ
ืกื ืืฃ ืื ืฉืืื ืืืืกืคืจืื ืืชืืืื ืืืื ื ืืฉืืืื ืืืืชืจ ืืงื ืืืงืืจ.
ืขืืืจ ืกื ืืฃ, ืื ืืื ืืืฆืข ืืคืืืช ืคืขื ืืืช, ืื ืืืื ืืืฆืืื ืืช ืืกืคืจ
ืืคืขืืื ืฉืืกื ืืฃ ื ืืงื ืืืงื ืืกืคืจ ืืคืขืืื ืฉืืกื ืืฃ ืืืฆืข
ืืืืคืก. ืืืจืช, ืืืืืขื "ืืขืืื ืื ืืืฆืขื" ืชืืืคืก.
ืขืืืจ ืฉืืื, ืื ืืื ืืืฆืขื ืืคืืืช ืคืขื ืืืช, ืื ืืืื ืืืฆืืื ืืช ืืกืคืจ
ืืคืขืืื ืฉืืื ืืฉืืื ืืืจื ืืืงื ืืกืคืจ ืืคืขืืื ืฉืืฉืืื ืืืฆืขื ืืืื
ืืืืคืก. ืื ืืืื ืืืจื ืืื 100%, ืืื ืขืฉืื ืืืืืช ืคืืืช ืขืืืจ ืคืื ืงืฆืืืช ืฉืงืืจืืืช "ืืฆืืื" ืื
"longjmp", ืืืื ืื ืืืืืจ ืืื ืคืขื ืฉืื ื ืงืจืืื.
ืกืคืืจืืช ืืืืฆืืข ืื ืืฆืืืจืืช. ืื ืืชืืื ืืช ืืืืืื ืืืคืขืื ืฉืื ืืื
ืืกืจืช .gcda ืงืืืฅ, ืืกืคืืจื ืฉื ืืกืคืจ ืืคืขืืื ืฉืื ืฉืืจื ืืืงืืจ ืืืืชื
ืืืืืฆืข ืืชืืืกืฃ ืืชืืฆืืืช ืฉื ืืจืืฆื ืืงืืืืช. ืื ืขืฉืื ืืืืืช ืฉืืืืฉื
ืืืื ืืจืืื. ืืืืืื, ืื ืืืื ืืฉืืฉ ืืื ืืฆืืืจ ื ืชืื ืื ืขื ืืกืคืจ
ืืชืืื ืืช ืคืืขืืช ืืืืง ืืืืืืช ืืืืืช ืืืืงื, ืื ืืื ืืกืคืง ืืืืืง ืืืชืจ ืืืืื ืืจืื
ืืืืข ืขื ืืกืคืจ ืจื ืฉื ืจืืฆืืช ืชืืื ืืืช.
ืื ืชืื ืื ื- .gcda ืืงืืฆืื ื ืฉืืจืื ืืื ืืคื ื ืืฆืืืช ืืชืืื ืืช. ืืื ืืื
ืงืืืฅ ืืืงืืจ ืฉืืืจืื ืขื -fprofile-arcs, ืงืื ืืคืจืืคืื ืื ืกื ืืจืืฉืื ื ืืงืจืื ื-
ืงืืืืื .gcda ืงืึนืึถืฅ; ืื ืืงืืืฅ ืืื ื ืชืืื ืืงืืืฅ ืืืคืขืื (ืืกืคืจ ืฉืื ื ืฉื ืืกืืกื
ืกืคืืจืช ืืกืืืืช) ืื ืืชืขืื ืืชืืื ืืงืืืฅ. ืืืืจ ืืื ืืื ืืืกืืฃ ืืช ืืืืฆืืข ืืืืฉ
ืกืืคืจ ืืืืกืืฃ ืืืชื ืืช ืื ืชืื ืื ืืงืืืฅ.
ืฉืืืืฉ gcov ืขื GCC ืืืคืืืืืืฆืื
ืื ืืชื ืืชืื ื ืืืฉืชืืฉ gcov ืืื ืืกืืืข ืืืืคืืืืืืฆืื ืฉื ืืงืื ืฉืื, ืชืืืื ืขืืื ืืืจืืื ืืช ืืชืืื ืืช ืฉืื
ืขื ืฉืชื ืืคืฉืจืืืืช ืืืืืืืช ืฉื GCC: -fprofile-arcs -ืืืืกืื ืืืืื ืืืืชืจ. ืืืฅ ืืื, ืืชื ืืืื
ืืืฉืชืืฉ ืืื ืืคืฉืจืืืืช ืืืจืืช ืฉื GCC; ืืื ืื ืืชื ืจืืฆื ืืืืืื ืฉืื ืฉืืจื ืืชืืื ืืช ืฉืื
ืืืฆื ืืืืจื, ืื ืืืื ืืืฆืข ืงืืืคืืืฆืื ืขื ืืืคืืืืืืฆืื ืื-ืืื ืืช. ืืืืง ืืืืืื ืืช
ืืืืคืืืืืืฆืื ืืืืื ืืืื ืืื ืฉืืจืืช ืงืื ืคืฉืืืืช ืขื ืืื ืฉืืืืื ืขื ืฉืืจืืช ืืืจืืช.
ืืืืืื, ืงืื ืืื:
ืื (ื != ื)
c = 1;
ืืืจ
c = 0;
ื ืืชื ืืืจืืื ืืืืจืื ืืืช ืืืืื ืืช ืืกืืืืืช. ืืืงืจื ืื, ืืื ืืจื ืืขืฉืืช ืืืช
gcov ืืืฉื ืกืคืืจืืช ืืืฆืืข ื ืคืจืืืช ืขืืืจ ืื ืฉืืจื ืื ืืื ืื ืคืจื
ืงืื ืขืืืจ ืื ืฉืืจื. ืืืื ื gcov ืืคืื ื ืจืื ืื ืื ืืืืืจ ืฉื ืืชืืื ืืช
ืขื ืืืคืืืืืืฆืื:
100: 12:ืื (ื != ื)
100: 13: c = 1;
100:14:ืืืจืช
100: 15: c = 0;
ืืคืื ืืจืื ืฉืืืืง ืงืื ืื, ืืฉืืืื ืืืคืืืืืืฆืื, ืืืคืขื 100 ืคืขืืื.
ืืืืื ืืกืืื ืืชืืฆืื ืืื ื ืืื ื, ืื ืืืืชื ืจืง ืืืจืื ืืืช ืฉืืืืฆืืช
ืื ืืจืืขืช ืืฉืืจืืช ืืืื. ืขื ืืืช, ืืคืื ืืื ื ืืฆืืื ืืื ืคืขืืื ืืชืืฆืื
ืืื 0 ืืืื ืคืขืืื ืืชืืฆืื ืืืืชื 1.
ืคืื ืงืฆืืืช ืื ืืชื ืืช ืืืฉืืจื ืืืืืืช ืืืฆืืจ ืกืคืืจืืช ืฉืืจืืช ืืืชื ืฆืคืืืืช. ืกืคืืจืช ืืฉืืจืืช ืืืฆืืช ืขืืืจ
ืงืื ืืืงืืจ ืฉื ืืคืื ืงืฆืื ืื ืืชื ืช ืืฉืืจื, ืืื ืื ืฉืืืฆื ืชืืื ืืืคื ืืคืื ืงืฆืื ื ืืฆืืช
ืืืืืข, ืื ืื ืืื ืืื ื ืืืืืข ืืื.
ืื ืืคืื ืงืฆืื ืืื ื ืืืืืขืช, ืขื ืืืืืจ ืืคืืื ืขืืชืง ืื ืืงืืื ืฉื ื-
function, ืืื ืงืืืฅ ืืืืืืงื ืฉืฆืจืื ืืช ืื. ืื fileA.o ื fileB.o ืฉื ืืื ืืืืืื ืืชืื
ืืืคื ืงื ืฉื ืคืื ืงืฆืื ืืกืืืืช ืฉืืื ื ื ืืชื ืช ืืฉืืจื, ืฉื ืืื ืื ืืืืื ืืืกืื
ื ืืฉื ืขืืืจ ืืคืื ืงืฆืื ืืื. ืืชื fileA.o ื fileB.o ืืงืืฉืจืื ืืื, ืืืงืฉืจ ืืืื,
ืืืขืจืืืช ืจืืืช, ืืืจ ืืื ืืืืชื ืืืคืื ืืืืฅ ืืงื ืขืืืจ ืื ืืงืจืืืืช ืืคืื ืงืฆืื ืืื,
ืืืืกืืจ ืื ืืืชืขืื ืืืืืจ. ืืืจืื ืืฆืขืจ, ืื ืื ืืกืืจ ืืช ืืื ื ืืืืกืื
ืขืืืจ ืืืฃ ืืชืคืงืื ืฉืืื ื ืืฉืืืืฉ. ืืืื ืฉืืืฉืจ ืืืฉืืจ, ืื ืคืจื ืืืื ืืฉืืืืฉ ืืคืื ืงืฆืื ืื
ืืฆืื ืืคืก ืกืคืืจืืช.
ืื ืืคืื ืงืฆืื ืืืืืขืช ืืืกืคืจ ืืงืืืืช, ืืื ื ืืืืืง ืืื ืืืงืื ืขืฉืื
ืื ืืืืืช ืืืชื ืืืืจ. ืืืืืื, ืชื ืื ืืืื ืืขืช ืืืืืช ื ืืชื ืืืืฉืื ืืืื ืืืืืจ ื
ืืงืจืื ืืกืืืืื. ืืืืืื ืฉืืืืกืื ืฉื ืื ืืฉืืืืฉืื ืฉื ืืคืื ืงืฆืื ืืืืืืขืช ืืืฆื
ืขืืืจ ืืืชื ืฉืืจืืช ืืงืืจ, ืกืคืืจืช ืืฉืืจืืช ืขืฆืื ืขืฉืืื ืืืืจืืืช ืื ืขืงืืืช.
ืืืฉืืืื ืืจืืื ืืืื ืืืืืื ืืืฉืชืืฉ ืืืชืงื ืื "_gcov_reset" ื-"_gcov_dump" ืืื
ืืืื ืืช ืืืกืืฃ ืืคืจืืคืืืื ืืืืืจ ืืชืืื ืืช ืืืขื ืืื. ืงืืจื "_gcov_reset(void)"
ืืืืง ืืช ืื ืืื ื ืืคืจืืคืื ืืืคืก, ืืงืจืืื "_gcov_dump(void)" ืชืืจืื ื
ืืืืข ืคืจืืคืื ืฉื ืืกืฃ ืืืืชื ื ืงืืื ืืื ืืืืจืง ืืืื .gcda ืงืืฆื ืคืื.
ืืฉืชืืฉ ื-alpha-linux-gnu-gcov ืืืื ืืจื ื ืืืืฆืขืืช ืฉืืจืืชื onworks.net