开发者社区> 问答> 正文

sonarqube 分析C++ 代码时,为什么无法检测出问题403.10 禁止访问:配置无效 

我用的软件版本如下:
          SonarQube:  4.4
sonar-runner:2.4
          sonar-cxx-plugin-0.9.1.jar(开源的C++分析插件)
          数据库使用的是mysql
自己写了个VC++测试工程,代码很简单,如下:
#include "stdafx.h"
int main(int argc, char* argv[]) { printf("Hello World!\n");
int a = 1;
printf("helloworld!"); return 0; }
\sonarqube-4.4\conf目录下的sonar.properties文件配置如下:
sonar.jdbc.username=root sonar.jdbc.password=root
#----- MySQL 5.x sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true sonar.jdbc.driverClassName:com.mysql.jdbc.Driver
\sonar-runner-2.4\conf目录下的sonar-runner.properties文件配置如下:
#----- Default SonarQube server sonar.host.url=http://localhost:9000
#----- MySQL sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
#----- Default source code encoding sonar.sourceEncoding=UTF-8
#----- Security (when 'sonar.forceAuthentication' is set to 'true') sonar.login=admin sonar.password=admin

在工程目录下新建了sonar-project.properties文件,配置如下:
sonar.projectKey=SampleProject.key sonar.projectName=SampleProject sonar.projectVersion=2.0 sonar.sources=.\ sonar.sourceEncoding=UTF-8
sonar.language=c++
完成后,使用cmd命令行进入工程目录下,然后使用sonar-runner命令进行分析,结果提示分析成功。
然后在IE9.0浏览器中输入http://localhost:9000进行访问SonarQube服务器。看到的效果界面如下:

我很好奇,为什么检测不出问题。我不知道哪里出现问题了,请各位大牛能给予帮助。万分感谢。

这个插件只是分析已经生成的报告,并非去检查代码,比如配置的规则中有cppcheck库的,那么运行sonar-runner时只会读取你用cppcheck检查后生成的问题报告###### 我也遇到过同样的问题,我是这样解决的:
1、要先安装cppcheck工具。安装命令如下:
make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes
make install CFGDIR=/usr/bin/cfg
2、在需要分析的项目里面执行“

cppcheck -j 1 --enable=all --xml ./src/* 1>cppcheck-result-1.xml 2>&1”生成一个xml文件
3、编辑sonar-project.properties配置文件,加入
sonar.cxx.cppcheck.reportPath=cppcheck-result-1.xml sonar.cxx.includeDirectories=/usr/include/
4、最后执行sonar-runner 分析。
但是我觉得使用cppcheck插件分析的结果不够好,请教一下各位高手,还有没有更好的解决方法。
另外 Valgrind /PC-lint/RATS /Vera++ 等插件要怎么与sonarqube使用?

######你好,想请问下用这个工具扫C++代码的具体步骤是怎样的???或者哪里有教程??######

引用来自“mm3b712”的评论

我也遇到过同样的问题,我是这样解决的: 1、要先安装cppcheck工具。安装命令如下: make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes make install CFGDIR=/usr/bin/cfg 2、在需要分析的项目里面执行“
cppcheck -j 1 --enable=all --xml ./src/* 1>cppcheck-result-1.xml 2>&1”生成一个xml文件 3、编辑sonar-project.properties配置文件,加入 sonar.cxx.cppcheck.reportPath=cppcheck-result-1.xml sonar.cxx.includeDirectories=/usr/include/ 4、最后执行sonar-runner 分析。 但是我觉得使用cppcheck插件分析的结果不够好,请教一下各位高手,还有没有更好的解决方法。 另外 Valgrind /PC-lint/RATS /Vera++ 等插件要怎么与sonarqube使用?

展开
收起
kun坤 2020-05-27 21:28:09 1137 0
1 条回答
写回答
取消 提交回答
  • @mm3b712看了demo项目,也是引用下面的参数sonar.cxx.cppcheck.reportPath=build/cppcheck-report.xml
    sonar.cxx.pclint.reportPath=build/pclint-report.xml sonar.cxx.coverage.reportPath=build/gcovr-report*.xml

    sonar.cxx.coverage.itReportPath=build/gcovr-report*.xml

    sonar.cxx.coverage.overallReportPath=build/gcovr-report*.xml

    sonar.cxx.valgrind.reportPath=build/valgrind-report.xml

    sonar.cxx.vera.reportPath=build/vera++-report.xml

    sonar.cxx.rats.reportPath=build/rats-report.xml

    sonar.cxx.xunit.reportPath=build/xunit-report.xml

    ###### make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes
    make install CFGDIR=/usr/bin/cfg
    通过这两句 看着像Linux系统下,请问windows系统下该怎么办,我也遇到了同样的问题。

    2020-05-28 13:37:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载