我将 gcov 与 cmake 一起使用。所有标志均已正确设置。.GCNO 文件已正确创建。然而,当执行从源文件生成的可执行文件时,情况有点复杂。可执行文件在 bash 脚本内运行。
让我创建一个示例场景,以便您可以给我准确的答案。
我有一个名为 MY_FILE.CC 的文件,其可执行文件名称为 EXECUTABLE_FILE 我使用 cmake 并为 gcov 设置了所有标志。我有一个名为 THE_SCRIPT.SH 的脚本,它将通过“make test”运行。该脚本运行 EXECUTABLE_FILE 文件。
因此,这里的想法是 bash 脚本 (THE_SCRIPT.SH) 依次运行可执行文件 (EXECUTABLE_FILE),并且运行这些 bash 脚本不会创建 .GCDA 文件。当我直接/手动运行可执行文件时,会创建 .GCDA 文件。我相信 bash 脚本是在子 shell 内运行的,父 shell 无法知道源的可执行文件是否已运行。有人可以确认这是否确实是这种情况吗?如果不是,那么具体的问题是什么?如果是的话,那么这个问题的解决方案是什么?
多谢。
归档时间: |
|
查看次数: |
6552 次 |
最近记录: |