我正在使用cmake与gcov。所有标志都已正确设置,并且.GCNO文件已正确创建。但是,当执行从源文件生成的可执行文件时,情况有点复杂。可执行文件在bash脚本中运行。
让我创建一个示例场景,以便您可以给出准确的答案。
我有一个名为MY_FILE.CC的文件,其可执行文件名称为EXECUTABLE_FILE。我使用了所有针对gcov设置的标志。我有一个名为THE_SCRIPT.SH的脚本,它将在“make test”下运行。此脚本运行EXECUTABLE_FILE文件。
因此,这里的想法是bash脚本(THE_SCRIPT.SH)反过来运行可执行文件(EXECUTABLE_FILE),而这些bash脚本的运行不会创建.GCDA文件。当我直接/手动运行可执行文件时,.GCDA文件被创建。我认为bash脚本在子shell中运行,父shell无法知道是否运行了源的可执行文件。请问有人能够确认这正是情况吗?如果不是,则确切的问题是什么?如果是,则如何解决此问题?
谢谢。
让我创建一个示例场景,以便您可以给出准确的答案。
我有一个名为MY_FILE.CC的文件,其可执行文件名称为EXECUTABLE_FILE。我使用了所有针对gcov设置的标志。我有一个名为THE_SCRIPT.SH的脚本,它将在“make test”下运行。此脚本运行EXECUTABLE_FILE文件。
因此,这里的想法是bash脚本(THE_SCRIPT.SH)反过来运行可执行文件(EXECUTABLE_FILE),而这些bash脚本的运行不会创建.GCDA文件。当我直接/手动运行可执行文件时,.GCDA文件被创建。我认为bash脚本在子shell中运行,父shell无法知道是否运行了源的可执行文件。请问有人能够确认这正是情况吗?如果不是,则确切的问题是什么?如果是,则如何解决此问题?
谢谢。