小编Bil*_*mad的帖子

将 gcov 与 cmake 结合使用时未创建 .gcda 文件

我将 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 无法知道源的可执行文件是否已运行。有人可以确认这是否确实是这种情况吗?如果不是,那么具体的问题是什么?如果是的话,那么这个问题的解决方案是什么?

多谢。

cmake gcov

5
推荐指数
1
解决办法
6552
查看次数

使用 CMake 和 Gcov 进行编译和链接时出错

在使用 gcov 获取覆盖信息时,我在编译和链接期间收到以下错误

error: undefined reference to '__gcov_merge_add'
error: undefined reference to '__gcov_init'
Run Code Online (Sandbox Code Playgroud)

我将标志传递给 CMakeLists.txt,如下所示:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
set(CMAKE_EXE_LINKER_FLAGS
    "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage")
Run Code Online (Sandbox Code Playgroud)

我还需要在 CMakeLists.txt 中添加其他内容吗?

cmake

4
推荐指数
1
解决办法
3952
查看次数

Jenkins 管道 sh 步骤返回错误“进程显然从未启动”

我一直在尝试让 Jenkinsfile 工作。它一直在sh步骤上失败并给出以下错误

    process apparently never started in /home/jenkins/workspace
    ...
    (running Jenkins temporarily with -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.LAUNCH_DIAGNOSTICS=true might make the problem clearer)
Run Code Online (Sandbox Code Playgroud)

我尝试过添加

withEnv(['PATH+EXTRA=/usr/sbin:/usr/bin:/sbin:/bin'])
Run Code Online (Sandbox Code Playgroud)

在 groovy 文件中的 sh 步之前

还尝试添加

/bin/sh 
Run Code Online (Sandbox Code Playgroud)

Manage Jenkins -> Configure Systemshell 部分

我还尝试用以下内容替换 Jenkinsfile 中的 sh 行:

sh "docker ps;"
sh "echo 'hello';"
sh ./build.sh;"
sh ```
#!/bin/sh
echo hello
```
Run Code Online (Sandbox Code Playgroud)

这是 Jenkinsfile 中我所坚持的部分

node {
    stage('Build') {
        echo 'this works'
        sh 'echo "this does not work"'
    }
}
Run Code Online (Sandbox Code Playgroud)

预期输出是“这不起作用”,但它只是挂起并返回上面的错误。

我缺少什么?

jenkins jenkins-plugins kubernetes jenkins-pipeline

2
推荐指数
1
解决办法
7962
查看次数