SYNOPSISscan-build options build command [build options]
DESCRIPTIONscan-build is a command line utility that enables a user to run the clang static analyzer over their codebase as part of performing a regular build (from the command line).
- Also analyze functions in #included files.
- Target directory for HTML report files. Subdirectories will be created as needed to represent separate "runs" of the analyzer. If this option is not specified, a directory is created in /tmp (TMPDIR on Mac OS X) to store the reports.
- -h, --help
- Display the help message.
- Add a "keep on going" option to the specified build command.
- This option currently supports make and xcodebuild. This is a convenience option; one can specify this behavior directly using build options.
- --html-title [title]
- Specify the title used on generated HTML pages.
- If not specified, a default title will be used.
- By default the output of scan-build is a set of HTML files. This option outputs the results as a set of .plist files.
- By default, the exit status of scan-build is the same as the executed build command. Specifying this option causes the exit status of scan-build to be 1 if it found potential bugs and 0 otherwise.
- --use-cc [compiler path]
- By default, scan-build uses 'gcc' to compile and link
- --use-cc=[compiler path]
- your C and Objective-C code. Use this option to specify an alternate compiler.
- --use-c++ [compiler path]
- By default, scan-build uses 'g++' to compile and link
- --use-c++=[compiler path]
- your C++ and Objective-C++ code. Use this option to specify an alternate compiler.
- Verbose output from scan-build and the analyzer. A second and third '-v' increases verbosity.
- View analysis results in a web browser when the build
- -constraints [model]
- Specify the contraint engine used by the analyzer. By default the 'range' model is used. Specifying 'basic' uses a simpler, less powerful constraint model used by checker-0.160 and earlier.
- -store [model]
- Specify the store model used by the analyzer. By default, the 'region' store model is used. 'region' specifies a field sensitive store model. Users can also specify 'basic', which is far less precise but can more quickly analyze code. 'basic' was the default store model for checker-0.221 and earlier.
- Do not create a 'failures' subdirectory that includes analyzer crash reports and preprocessed source files.
EXAMPLESBasic usage of scan-build is designed to be simple: just place the word "scan-build" in front of your build command:
$ scan-build make
$ scan-build xcodebuild
In the first case scan-build analyzes the code of a project built with make and in the second case scan-build analyzes a project built using xcodebuild.
It is also possible to use scan-build to analyze specific files:
$ scan-build gcc -c t1.c t2.c
This example causes the files t1.c and t2.c to be analyzed.