scan-build1(1) An utility for running the clang(1) analyzer from the command line

Other Alias



scan-build options build command [build options]


scan-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.


Basic 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.


Maintained by the Clang / LLVM Team

This manual page was written by Ermenegildo Fiorito [email protected] for the Debian Project.