??????????????

??????????????????????????????????????????????????????2????????????????????й?????????????????????

???????????????б?????????????????????????б???????????????????????

??????????????????????????????????????4????????????????????Χ?????????makefile/shell/python???????????????????2???·????????????????????Χ??α???????????????lcov?? app.info ???м????????????????????????????????????makefile???????б????????????????????? app.info ?У??????У??????????????α?????α? *.gcda??????Щ???????????????????????б????????????????gcda?????????toast(http://toast.taobao.org/)??????????α?????????????????????????????

????2. ????????????????????;

?????????????????????????????????????????????????????????????á??????????????linux??c/c++????????????Daemon??????????????????????????????????????????????????? exit ???????????gcov_exit ?????????????????????? __gcov_flush ??????????????? *.gcda ????С????2???·?????????????

????????????????????????? signal handler?????? SIGHUP??SIGINT??SIGQUIT??SIGTERM ??????????????????? signal handler ?????????? exit ?? __gcov_flush ?????????????????????????????????????????????????????????μ??????????????????????????????????????????

??????????????????????????? gcc ????? constructor ????????????? signalhandler ??????????????????????????????У??????????????????????????????????????????????????????????????????????????????

?????塢???????????

??????????????????У?????????????????????漰??????????????????????????????????????

????c/c++?? ???????????;

????Java?? Maven cobertura ???;

????Python?? PyUnit + coverage.py;

????Php?? phpunit + –coverage-html ;

????Perl?? Test::Class ?? Devel::Cover;

????Shell?? shUnit2 + shcov;