2009-09-02 133 views
2

我有一个应用程序,我使用gcc在Linux主机上为ARM目标处理器构建。这个生成的arm可执行文件是我在ARM开发板上执行的。 我想要做一些代码覆盖分析:gcov是否提供汇编语言代码的代码覆盖率分析

  1. 将gcov一个显示的代码覆盖率,如果我有我的构建环境ARM汇编源文件?
  2. 如果我的编译环境有一些X86汇编源文件,那么gcov会显示代码覆盖率数据吗?

谢谢。 -AD。

回答

2

AFAIK,gcov通过预处理C或C++源代码来工作。 如果您有纯粹的汇编语言文件,我认为gcov永远不会看到它们。

如果是这样,如果它理解 如何安全地将代码安全地插入任意目标汇编代码中,那么ARM会很普遍,因此存在一个微弱的机会。 测试汇编代码的问题是 测试覆盖率测试代码本身可能需要寄存器 ,并且对于汇编器的任意块 ,a)可用的寄存器和b) 如果存在插入的指令,则由于额外的空间(例如,在所插入的指令上相对于 的硬连线跳转),是否会有其他指令 中断。