Please enable JavaScript to view this site.

Coverage Validator Help

 

The Coverage tab view displays file coverage and gives a good overall picture of the coverage.

 

interactiveRead on, or click a part of the image below to jump straight to the help for that area.

 

tab-coverage-view

 

 

As with many of the tab views, the display is split into two resizable panes.

 

the left side lists a summary of the file coverage data
 

the right side shows source code for any file selected on the left

 

We'll cover the file list and its popup menu first, and then the source code view.

 

 

The file list
 

At the top of the list is a summary of the total current file coverage statistics.

 

tab-coverage-summary-line

 

 

Each subsequent line in the list of files displays the following:

 

the file name - either the full path or the short name
 

the percentage of hookable lines that have been visited

 

the number of hooked lines in the file, (unhooked lines in brackets)
 

This is not the same as the total number of lines in a file, which may include comments, declarations and white space.

 

Neither is it the same as the number of hookable lines since some lines or functions can be excluded from hooking.
 

The count also includes lines which should have been hooked but failed, for example because the instrumentation level was set low. The unhooked line count is shown in brackets.
 

the number of different lines that have been visited

 

the total visit count for the file

 

This may be equal to the number of different lines visited unless you're counting each visit separately as seen below.

 

visit-count-multiples

 

the DLL in which the file was found

 

Files are ordered first by their directory and then by the files in those directories.

 

 

Line colours

 

Each line in the list is colour coded to indicate one of the following:

 

the file has not been visited at all
 

tab-coverage-unvisited-file

 

the file has been visited to some extent
 

tab-coverage-visited-file

 

every hookable line in the file has been visited, i.e. 100% file coverage

 

tab-coverage-all-visited-file

 

none of the lines in the file could be hooked
 

tab-coverage-unhookable-file

 

 

Unhooked lines

 

The number of unhooked lines is shown in brackets in the Num Lines column.

 

Depending on what file or DLL hook filters are set up, not all the hookable lines in a header file may attempt to be hooked.

 

Only those that are actually used (e.g. via macros or inlines) in the program may actually be hooked.

 

note By default, lines that could not be hooked don't stop the coverage from reaching 100%, but you can change this.

 

In this example below, the instrumentation level was set low ('incomplete but faster') to force significant numbers of unhooked lines.

 

tab-coverage-unhookable-lines

 

 

 

Scrollbar visualisations

 

To the right of each pane, beside the vertical scrollbars, you'll see a coloured area which represents the coverage.

 

For the file list, the visualisation shows the coverage of each file in the list - reflecting the progress meters in the second column.

 

coverage-view-scrollbar-viz

 

For the source code view, the visualisation shows the coverage of each line in the file

 

coverage-view-scrollbar-viz1

 

These visualisations provide a snapshot view of the whole list of files or the whole source file.

 

Irrespective of how much you can see in the file list or in the source code view, you can still get a global overview of the coverage distribution.

 

 

Coverage options

 

The coverage controls are shown below.

 

tab-coverage-display-options

 

 

Window orientation

 

The horizontal or vertical orientation of the statistics and source code panes can be toggled with the orientation button.

 

coverageOrientationVert        coverageOrientationHoriz

 

 

Updating the display

 

Update Interval (seconds) instructionStep automatically updates the display at your choice of interval between 0.1 and 60 seconds - or not at all!

 

Adjust this depending on the complexity of your application.

 

Only the Coverage view has automatic update intervals controlled in this way.

 

Refresh instructionStep updates the display - as does the refresh button on the Tools menu and toolbar

 

With an update interval set to No Update, you'll need to use this Refresh button to update the display when you wish.

 

 

 

Display settings

 

Highlight unvisited lines instructionStep highlights rows for files and lines that have not been visited (on by default)

 

If switched off, unvisited lines appear white - or whatever colour you've set as the unselected colour.

 

tab-coverage-unvisited-file-unhighlighted

 

Show Path instructionStep shows the short file name or the longer file path in the File column of the data

 

 

 

File list menu optionsright_mouse_button

 

The following popup menu is available over the data area to add filters or edit code.

 

tab-coverage-menu

 

 

right_mouse_buttonMenu options: Instrumentation Filter

 

The instrumentation filter lets you add filters at different levels of granularity:

 

tab-coverage-menu-inst-filter

 

Exclude Filename instructionStep adds a new filter to the Source Files Filter settings, excluding it from the results of subsequent sessions
 

Exclude Directory instructionStep excludes all files in the same directory as the selected file
 

From the sub menu, choose the directory level at which you want to exclude files, right up to the drive specifier if you need to.

 

tab-coverage-menu-inst-filter-dir

 

Exclude DLL instructionStep excludes all files belonging to the same executable or DLL as the selected file
 

This adds a filter to the Hooked DLLs settings.

 

note Filters become effective at the start of the next session. Adding a filter during a session will show the relevant rows in grey so that you can see which files would be filtered, but the coverage results will continue to be included for the rest of the current session.

 

 

 

right_mouse_buttonMenu option: editing source code

 

Edit Source Code... instructionStep opens the default or preferred editor to edit the source code

 

 

 

The file source code view

 

Clicking on a file in the file list, shows that file in the source code view on the right.

 

The source code uses syntax highlighting by default, with the background colour of the line indicating if the line has been visited, is unvisited or could not be hooked.

 

Icons are displayed next to hooked and unhooked lines indicating visit and hook status and visit counts are shown in-line with the code.

 

Hovering over a line for a short period of time shows a tooltip with the number of visits to the line.

 

Contiguous groups of lines can be collapsed and hidden from view.

 

 

Source code file information

 

On the right hand panel, above the source code, you'll find some information about the source file

 

 

tab-coverage-file-info

 

The details shown include the following:

 

'quick view' details for visited and unvisited lines, pink for unvisited, light green for partial visited, and dark green for 100% visited
 

tab-coverage-file-info-dial           tab-coverage-file-info-dial-covered

 

 

the source code filename and the executable or DLL to which it belongs
 

tab-coverage-file-info-file-exec

 

the same file statistics as seen in the left hand panel
 

tab-coverage-file-info-stats

 

 

Browsing visited and unvisited lines

 

next-unvisted instructionStep show the previous and next unvisited line of code
 

b_f7 and b_shift + b_f7 also navigate forwards and backwards when the source code has focus.
 

next-visited instructionStep show previous and next visited line of code
 

The arrows are grey when disabled.

 

b_f8 and b_shift + b_f8 also navigate forwards and backwards through the visited lines.

 

 

Line instructionStep step by individual lines of code
 

Group instructionStep step by groups of contiguous visited or unvisited lines

 

 

 

Keyboard access: Find and Goto

 

When the data view or the source code view has focus, some keyboard access is available to search for files and other text, or to navigate to numbered lines.

 

 

Find filename in data view

 

In the data view, b_ctrl + b_f displays a dialog that will allow you to search by full or partial match for a filename.

 

find-filename-dialog

 

 

Find text in source view

 

In the source code view b_ctrl + b_f lets you search by full or partial match anywhere in the file.

 

goto-line-coverage-dialog

 

 

Goto line in source view

 

In the source code view, b_ctrl + b_g displays a goto-line dialog.

 

goto-line-dialog

 

.