Lines Matching +full:a +full:- +full:z
1 .. include:: ../disclaimer-zh_CN.rst
3 :Original: Documentation/dev-tools/gcov.rst
11 以通过gcov的 ``-o`` 选项(如下示例)获得指定文件的代码运行覆盖率统计数据
14 # cd /tmp/linux-out
15 # gcov -o /sys/kernel/debug/gcov/tmp/linux-out/kernel spinlock.c
33 ----
50 mount -t debugfs none /sys/kernel/debug
54 ------
59 - 单独统计单个文件(例如main.o)::
63 - 单独统计某一个路径::
80 --------
96 在gcc编译时如果配置了选项 ``-ftest-coverage`` 时生成的。
100 --------------
116 ------------------
123 .. _gcov-test_zh:
125 a) 若gcov运行在测试机上
131 - 所有的C文件和头文件
134 - 所有的C文件和头文件
135 - 所有的.gcda文件和.gcno文件
136 - 所有目录的链接
143 .. _gcov-build_zh:
150 - 所有的.gcda文件
151 - 所有的.gcno文件软链接
153 这些文件可以拷贝到编译机的任意目录下,gcov使用-o选项指定拷贝的
163 [user@build] gcov -o /tmp/coverage/tmp/out/init main.c
167 --------------------
171 则使用 llvm-cov_ 。
174 .. _llvm-cov: https://llvm.org/docs/CommandGuide/llvm-cov.html
180 --------
200 使用 ``cat`` 读取 ``.gcda`` 文件,使用 ``cp -d`` 复制链接,或者使用附录B
205 --------------------------
208 (见 :ref:`编译机和测试机分离 a. <gcov-test_zh>` )
210 .. code-block:: sh
218 if [ -z "$KSRC" ] || [ -z "$KOBJ" ] || [ -z "$DEST" ]; then
223 KSRC=$(cd $KSRC; printf "all:\n\t@echo \${CURDIR}\n" | make -f -)
224 KOBJ=$(cd $KOBJ; printf "all:\n\t@echo \${CURDIR}\n" | make -f -)
226 find $KSRC $KOBJ \( -name '*.gcno' -o -name '*.[ch]' -o -type l \) -a \
227 -perm /u+r,g+r | tar cfz $DEST -P -T -
229 if [ $? -eq 0 ] ; then
231 echo " tar xfz $DEST -P"
238 -------------------------
241 (见 :ref:`编译机和测试机分离 b. <gcov-build_zh>` )
243 .. code-block:: sh
245 #!/bin/bash -e
250 if [ -z "$DEST" ] ; then
255 TEMPDIR=$(mktemp -d)
257 find $GCDA -type d -exec mkdir -p $TEMPDIR/\{\} \;
258 find $GCDA -name '*.gcda' -exec sh -c 'cat < $0 > '$TEMPDIR'/$0' {} \;
259 find $GCDA -name '*.gcno' -exec sh -c 'cp -d $0 '$TEMPDIR'/$0' {} \;
260 tar czf $DEST -C $TEMPDIR sys
261 rm -rf $TEMPDIR