User's Manual

Example 3 Generating code complexity metrics
To store the code complexity metrics in the PDB with Indirect Call Targets, use the following
command.
$cadvise +metrics=ict -pdb test.pdb aCC -c example.c
To get the metrics in the my.metrics file, use the following command.
$cadvise +metrics :out=my.metrics aCC -c example.c
To store the metrics in the my.metrics file without Indirect Call Targets, use the following command.
$cadvise +metrics :out=pdb -pdb test.pdb aCC -c example.c
The program complexity metrics are stored in a specified output location. The output location can
either be specified as the pdb (out=pdb) or a file <filename>(out=<filename>). Inserting a
+ before the <filename> appends the metrics to the file <filename>. If the output location is
not specified, then these metrics are written either to a PDB, if a PDB is present, or to the file
<objfile>.metrics.
Cadvise emits the following metrics for determining program complexity:
For a source file
Number of header files included
Total number of lines in the source file
Number of comment lines
Number of blank lines
Number of lines of code
Number of mixed lines (lines have both code and comments)
Number of global variables
Number of static variables
Total number of functions defined
Number of externally visible functions defined
Number of global Thread Local Storage (TLS) Variables
Number of static Thread Local Storage (TLS) Variables
Number of global mutexes
Number of static mutexes
Program complexity metrics for each of the functions
For a function
Function Signature
Total number of lines
Number of comment lines
Number of blank lines
Number of lines of code
Number of mixed lines
Number of macros used
Number of local variables defined
Number of static variables defined
14 Using Cadvise