首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >扫描-构建不工作报告“正在删除目录xxx,因为它不包含报告。”

扫描-构建不工作报告“正在删除目录xxx,因为它不包含报告。”
EN

Stack Overflow用户
提问于 2021-06-29 11:53:57
回答 1查看 313关注 0票数 0

简单的错误代码文件

代码语言:javascript
运行
复制
$ python --version
Python 3.8.5

$ gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ clang --version
clang version 10.0.0-4ubuntu1 
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

$ make --version
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

hello.c

代码语言:javascript
运行
复制
int main() {
  int x = 7 / 0; // bug here
  return 0;
}

与gcc一起运行命令和结果

代码语言:javascript
运行
复制
$ scan-build -v gcc -o hello hello.c
scan-build: INFO: Report directory created: /tmp/scan-build-2021-06-29-03-50-40-733039-n821xtkx
hello.c: In function ‘main’:
hello.c:2:13: warning: division by zero [-Wdiv-by-zero]
    2 |   int x = 7 / 0; // Memory leak
      |             ^
scan-build: WARNING: Removing directory '/tmp/scan-build-2021-06-29-03-50-40-733039-n821xtkx' because it contains no report.

使用clang

代码语言:javascript
运行
复制
$ scan-build -v clang -o hello hello.c
scan-build: INFO: Report directory created: /tmp/scan-build-2021-06-29-03-51-08-738812-1059tk4t
hello.c:2:13: warning: division by zero is undefined [-Wdivision-by-zero]
  int x = 7 / 0; // Memory leak
            ^ ~
1 warning generated.
scan-build: WARNING: Removing directory '/tmp/scan-build-2021-06-29-03-51-08-738812-1059tk4t' because it contains no report.

我不能理解为什么警告是生成的(可能是由编译器生成的?),但是为什么扫描构建不能工作呢?

*2021年6月30日更新

我按照这个教程,最终得到了"python“版本的扫描-构建,这是这样一个误解,答案完美地解决了我的问题,现在正在工作。https://github.com/rizsotto/scan-build

works now!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-29 12:58:17

不知何故,您调用的是scan-build-py而不是scan-build

这是一个旨在分析python代码的脚本。

在我的Ubuntu20.04中,安装后(sudo apt install clang-tools):

代码语言:javascript
运行
复制
/usr/bin/scan-build -> scan-build-10*
/usr/bin/scan-build-10 -> ../share/clang/scan-build-10/bin/scan-build*
/usr/bin/scan-build-py-10 -> ../share/clang/scan-build-py-10/bin/scan-build*

如果我使用/usr/bin/scan-build-py-10,我会得到和你一样的输出。

如果我使用/usr/bin/scan-build-10,我会在分析你的C程序时得到预期的输出。

代码语言:javascript
运行
复制
$ scan-build-10 -v gcc -o hello hello.c
scan-build: Using '/usr/lib/llvm-10/bin/clang' for static analysis
scan-build: Emitting reports for this run to '/tmp/scan-build-2021-06-29-065953-647-1'.
hello.c: In function ‘main’:
hello.c:2:15: warning: division by zero [-Wdiv-by-zero]
    2 |     int x = 7 / 0; // bug here
      |               ^
hello.c:2:9: warning: Value stored to 'x' during its initialization is never read
    int x = 7 / 0; // bug here
        ^   ~~~~~
hello.c:2:15: warning: Division by zero
    int x = 7 / 0; // bug here
            ~~^~~
2 warnings generated.
scan-build: 2 bugs found.
scan-build: Run 'scan-view /tmp/scan-build-2021-06-29-065953-647-1' to examine bug reports.
代码语言:javascript
运行
复制
$ scan-view /tmp/scan-build-2021-06-29-065953-647-1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68172416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档