|  | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" | 
|  | "http://www.w3.org/TR/html4/strict.dtd"> | 
|  | <html> | 
|  | <head> | 
|  | <title>Running the analyzer from the command line</title> | 
|  | <link type="text/css" rel="stylesheet" href="content.css"> | 
|  | <link type="text/css" rel="stylesheet" href="menu.css"> | 
|  | <script type="text/javascript" src="scripts/menu.js"></script> | 
|  | </head> | 
|  | <body> | 
|  |  | 
|  | <div id="page"> | 
|  | <!--#include virtual="menu.html.incl"--> | 
|  | <div id="content"> | 
|  |  | 
|  | <h1>Running the analyzer from the command line</h1> | 
|  |  | 
|  | <p> Static Analyzer is by design a GUI tool. Its purpose is to find buggy execution | 
|  | paths in the program, and such paths are very hard to comprehend by looking at | 
|  | a non-interactive standard output. It is possible, however, to invoke the | 
|  | Static Analyzer from the command line in order to obtain analysis results, and | 
|  | then later view them interactively in a graphical interface. The following | 
|  | tools are used commonly to run the analyzer from the command line. Both tools | 
|  | are wrapper scripts to drive the analysis and the underlying invocations of the | 
|  | Clang compiler: | 
|  | <ol> | 
|  | <li><a href="scan-build.html">Scan-Build</a> | 
|  | is an old and simple command-line tool that emits static analyzer warnings as HTML files while compiling your project. You can view the analysis results in your web browser. | 
|  | </li> | 
|  | <ul> | 
|  | <li> | 
|  | Useful for individual developers who simply want to view static analysis results at their desk, or in a very simple collaborative environment. | 
|  | </li> | 
|  | <li> | 
|  | Works on all major platforms (Windows, Linux, macOS) and is available as a package in many Linux distributions. | 
|  | </li> | 
|  | <li> | 
|  | Does not include support for cross-translation-unit analysis. | 
|  | </li> | 
|  | </ul> | 
|  | <li><a href="codechecker.html">CodeChecker</a> | 
|  | is a web server that runs the Static Analyzer on your projects on demand and maintains a database of issues. | 
|  | </li> | 
|  | <ul> | 
|  | <li> | 
|  | Perfect for managing large amounts of Static Analyzer warnings in a collaborative environment. | 
|  | </li> | 
|  | <li> | 
|  | Generally much more feature-rich than scan-build. | 
|  | </li> | 
|  | <li>Supports incremental analysis: Results can be stored in a database, subsequent analysis runs can be compared to list the newly added defects.</li> | 
|  | <li><a href="https://clang.llvm.org/docs/analyzer/user-docs/CrossTranslationUnit.html">Cross Translation Unit (CTU) analysis</a> is supported fully on Linux via CodeChecker.</li> | 
|  | <li>Can run clang-tidy checkers too.</li> | 
|  | <li>Open source, but out-of-tree, i.e. not part of the LLVM project.</li> | 
|  | </ul> | 
|  | </ol> | 
|  | </p> | 
|  |  | 
|  | <p> | 
|  | </p> | 
|  | <p> | 
|  | </p> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | </body> | 
|  | </html> |