[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210415053820.GA26262@bobwxc.top>
Date: Thu, 15 Apr 2021 13:38:20 +0800
From: "Wu X.C." <bobwxc@...il.cn>
To: Fangrui Song <maskray@...gle.com>
Cc: Alex Shi <seakeel@...il.com>, Alex Shi <alexs@...nel.org>,
Bernard Zhao <bernard@...o.com>,
Jonathan Corbet <corbet@....net>,
YanTeng Si <sterlingteng@...il.com>,
Nathan Chancellor <nathan@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
clang-built-linux@...glegroups.com
Subject: Re: [PATCH v5] docs/zh_CN: add translations in zh_CN/dev-tools/gcov
On Wed, Apr 14, 2021 at 10:07:55PM -0700, Fangrui Song wrote:
> Reviewed-by: Fangrui Song <maskray@...gle.com>
>
> Inlined some suggestions.
Thanks for your review!
>
> On 2021-04-14, Alex Shi wrote:
> > Reviewed-by: Alex Shi <alexs@...nel.org>
> >
> > On 2021/4/14 下午9:21, Wu XiangCheng wrote:
> > > From: Bernard Zhao <bernard@...o.com>
> > >
> > > Add new zh translations
> > > * zh_CN/dev-tools/gcov.rst
> > > * zh_CN/dev-tools/index.rst
> > > and link them to zh_CN/index.rst
> > >
> > > Signed-off-by: Bernard Zhao <bernard@...o.com>
> > > Reviewed-by: Wu XiangCheng <bobwxc@...il.cn>
> > > Signed-off-by: Wu XiangCheng <bobwxc@...il.cn>
> > > ---
> > > +
[...]
> > > +在Linux内核里使用gcov做代码覆盖率检查
> > > +=====================================
> > > +
> > > +gcov是linux中已经集成的一个分析模块,该模块在内核中对GCC的代码覆盖率统
>
> instrumentation 一般译作 插桩,而非 分析。
Have rewrited this paragraph.
Here is "gcov profiling kernel",gcov分析核心
>
> > > +计提供了支持。
> > > +linux内核运行时的代码覆盖率数据会以gcov兼容的格式存储在debug-fs中,可
>
> 专有名词 Linux 应大写。
Done.
>
> > > +以通过gcov的 ``-o`` 选项(如下示例)获得指定文件的代码运行覆盖率统计数据
> > > +(需要跳转到内核编译路径下并且要有root权限)::
> > > +
> > > + # cd /tmp/linux-out
> > > + # gcov -o /sys/kernel/debug/gcov/tmp/linux-out/kernel spinlock.c
> > > +
> > > +这将在当前目录中创建带有执行计数注释的源代码文件。
> > > +在获得这些统计文件后,可以使用图形化的 gcov_ 前端工具(比如 lcov_ ),来实现
> > > +自动化处理linux内核的覆盖率运行数据,同时生成易于阅读的HTML格式文件。
> > > +
> > > +可能的用途:
> > > +
> > > +* 调试(用来判断每一行的代码是否已经运行过)
> > > +* 测试改进(如何修改测试代码,尽可能地覆盖到没有运行过的代码)
> > > +* 内核配置优化(对于某一个选项配置,如果关联的代码从来没有运行过,是
> > > + 否还需要这个配置)
>
> minimizing: 优化 -> 最小化/简化
Done.
>
> > > +.. _gcov: https://gcc.gnu.org/onlinedocs/gcc/Gcov.html
> > > +.. _lcov: http://ltp.sourceforge.net/coverage/lcov.php
> > > +
> > > +
> > > +准备
> > > +----
> > > +
> > > +内核打开如下配置::
> > > +
> > > + CONFIG_DEBUG_FS=y
> > > + CONFIG_GCOV_KERNEL=y
> > > +
> > > +获取整个内核的覆盖率数据,还需要打开::
> > > +
> > > + CONFIG_GCOV_PROFILE_ALL=y
> > > +
> > > +需要注意的是,整个内核开启覆盖率统计会造成内核镜像文件尺寸的增大,
> > > +同时内核运行的也会变慢一些。
>
> s/的//
Done.
>
> > > +另外,并不是所有的架构都支持整个内核开启覆盖率统计。
> > > +
> > > +代码运行覆盖率数据只在debugfs挂载完成后才可以访问::
> > > +
[...]
> > > +
> > > +编译机和测试机分离
> > > +------------------
> > > +
> > > +gcov的内核分析架构支持内核的编译和运行是在同一台机器上,也可以编译和运
>
> 分析 -> 插桩
Done.
>
> > > +行是在不同的机器上。
[...]
Thanks!
Wu
Download attachment "signature.asc" of type "application/pgp-signature" (660 bytes)
Powered by blists - more mailing lists