Advertisement

GCC -fprofile-arcs -ftest-coverage选项

阅读量:

gcc在进行目标程序的静态注入配置时,在编译链接阶段需向目标程序加入gcc的静态注入编译选项。具体来说,在编译完成后会产生一个_.gcno文件。值得注意的是,在这些配置完成后一旦正常退出时(即完成所有操作并完成正常的任务终止),运行目录中会产生一个_.gcda数据文件。这样就能方便地获得代码覆盖率的数据结果。

-ftest-coverage

为使gcov代码覆盖实用程序(见gcov—a测试覆盖率程序)能够展示程序覆盖情况,请生成一份笔记文件。
每个源文件对应的笔记文件名为auxname.gcno。
参考-fprofile-arcs选项中的说明以及如何生成测试覆盖率数据。
为了让编译器生成一个与源代码同名的.gcno文件(记为note file),这种文件包含了构建基本块依赖图以及将源代码与基本块相关联所需的关键信息。

-fprofile-arcs

向程序中添加代码以实现对流程弧的静态注入。
在执行过程中,程序记录了每个分支和调用被执行的次数以及被取用或返回的次数。
当编译后的程序退出时会将这些数据保存到名为auxname.gcda的文件中,默认情况下每个源文件都会生成这样的文件。
这些数据可用于进行基于 prof 的优化(-fbranch-probabilities)或用于测试覆盖率分析(-ftest-coverage)。
对于每个目标文件来说,默认名称是输出文件名(若明确

全部评论 (0)

还没有任何评论哟~