Bil*_* VB 6 static-analysis llvm clang
按照主要的clang静态分析器网页(http://clang-analyzer.llvm.org/scan-build.html)的说明...
我有一个小错误的C文件(badcode.c):
int main(int argc, char ** argv)
{
int j;
int a[4];
puts(a[j]);
return 'a';
}
Run Code Online (Sandbox Code Playgroud)
为了得到一个基本的想法如何clang静态分析器(scan-build)的话,我运行:
scan-build -v clang badcode.c
它输出:
scan-build: Emitting reports for this run to '/tmp/scan-build-2012-08-17-1'.
scan-build: 'clang' executable not found in '/usr/share/clang/scan-build/bin'.
scan-build: Using 'clang' from path: /usr/bin/clang
badcode.c:7:2: warning: implicit declaration of function 'puts' is invalid in C99 [-Wimplicit-function-declaration]
puts(a[j]);
^
1 warning generated.
scan-build: Removing directory '/tmp/scan-build-2012-08-17-1' because it contains no reports.
Run Code Online (Sandbox Code Playgroud)
好吧,很棒,clang发出一点警告,但仍然会产生a.out.为什么它不会产生报告?j对于任何静态分析仪,unititialized变量应该是一个痛苦明显的红旗 - 为什么不报告它?
我只是使用错误的命令行参数?
小智 1
尝试这个:
scan-build -k -V -o scan-reports xcodebuild clean build -configuration Debug -sdk [sdk-version] -xcconfig=[xconfig-certificate-file]
例如: scan-build -k -V -o scan-reports xcodebuild clean build -configuration Debug -sdk iphoneos5.0 -xcconfig="/Users/username/config.xcconfig"
这应该创建一个 html 输出。
| 归档时间: |
|
| 查看次数: |
1004 次 |
| 最近记录: |