Six profile reports are available, depending on whether the appropriate data exists. The reports generally consist of several columns of information, and a status bar at the bottom of the report. Most of the columns can be sorted by clicking the header. Clicking the same header again will sort in the opposite direction. All of the columns can be resized by dragging the separator to the left or right. All of the columns can also be moved around by dragging the header to the appropriate location. Within each of the reports, clicking a function name (or other program component) moves you to that location in the Debugger source pane; a double click invokes an editing window. You can save, append, or print any report from the File menu.
This is the report that appears when you first open the profiling window. It is always available. It gives general information about profiling, such as what type of data has been collected. The status bar indicates whether or not profiling is active.
This report gives a summary of program execution time per function. It is available when any type of program counter sampling is done such as mon.out or gmon.out.
Note that the percentages may not add to 100%, as the profiler only monitors how much time is actually spent in the function.
This report gives a summary of program execution time per function, including functions' descendants. Descendants of a function are all routines called by that function, and all routines called by those routines, and all routines called by those routines, etc. This report is available when the program is compiled with the Graph option and gmon.out file(s) are created.
The status bar indicates if the times are listed in seconds or milliseconds.
The status bar gives a summary of the coverage of the entire program. It is available when the program is compiled with the Coverage Analysis option on.
Block coverage summary | |
Header | Meaning |
Function |
The function names. |
Blocks |
The number of basic blocks in each function. |
% Covered |
The percentage of basic blocks executed. |
The status bar gives a summary of the coverage of the entire program. For more information about coverage within each function, see the Block Coverage Detailed section below.
This report gives the program code coverage per basic block. It is available when the program is compiled with the Coverage Analysis option on.
The status bar indicates if the times are listed as seconds or milliseconds.
This report is a listing of all the source lines of the program, along with how long each took to execute. A source line is uniquely determined by the filename and (file-relative) line number. Only lines with positive times are displayed. The time it takes to process this report is proportional to the size of the program and hence may take longer for very large programs. This report is available when any type of program counter sampling is done such as mon.out or gmon.out.