我制作了一个非常简单的 C 文件,只是为了在使用 C 代码时测试 sonarcloud 的输出。我的整个代码是这样的:
#include <stdio.h>
#include <stdlib.h>
int main() {
int i;
for(int j = 0; j < 100; j++) {
void* unreleasedMemory = malloc(1024);
printf("Address: %p\n", unreleasedMemory);
}
printf("Uninitialized i is: %d", i);
return 0;
}
当我在 sonarcloud 上启动一个新项目并同时发出 build-wrapper 和 sonar-scanner 命令时,如下所示:
build-wrapper-macosx-x86 --out-dir bw-output cmake .
在那之后:
sonar-scanner \
-Dsonar.projectKey=ctest \
-Dsonar.organization=<orgname> \
-Dsonar.sources=. \
-Dsonar.cfamily.build-wrapper-output=bw-output \
-Dsonar.host.url=https://sonarcloud.io \
-Dsonar.login=<tokenvalue>
两个参数的输出看起来都很好。不幸的是,它没有检测到这些相当明显的错误:
我做错了什么所以 sonarcloud 会接他们?