我试图通过VSCode使用gcov,但遇到了问题。我配置了一个构建任务来编译覆盖信息:
{
"type": "shell",
"label": "Coverage build",
"command": "C:\MinGW\bin\gcc.exe",
"args": [
"-Wall",
"-Werror",
"-Wvla",
"-pedantic",
"-Wextra",
"-Wfloat-equal",
"-ftest-coverage",
"-fprofile-arcs",
"-fprofile-arcs",
"${file}",
"-o",
"${fileDirname}\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:\MinGW\bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
}
没有编译错误,但由于某种原因,.gcno
和.gcda
文件被放置在./MinGW/bin
中,而不是主文件目录中。
如何解决此问题?因为这就是为什么我不能在工作目录中使用gcov的原因,我不想打开其他终端窗口来解决这个问题。
也许问题出在任务工作目录的配置上。
尝试替换:
"options": {
"cwd": "C:\MinGW\bin"
},
带有:
"options": {
"cwd": "${workspaceFolder}"
},
或与Visual Studio代码项目相关的内容。
没有指定-ftest-coverage
和其他标志,而是有一个--coverage
标志,它可以转换为编译所需的一切,并且在链接时也可以转换为-lgcov
,这在您的配置中是缺失的,我认为这是您的主要问题。因此,请改用--coverage
。