Please enable JavaScript to view this site.

Coverage Validator Help

Navigation: The User Interface > Settings > Data Collection Settings > Data Display

Path Substitutions

Scroll Prev Top Next More

 

The Path Substitutions tab allows you to specify how file paths can be modified to account for copying a build from a build machine to a development machine or test machine.

 

File paths need to be modified otherwise the debug information will point to source code in locations that don't exist on the new machine.

 

There are no substitutions set up by default:

 

settings-substdrives

 

 

Path Substitutions

 

Some software development schemes have multiple rolling builds of their software, often enabled by using substituted disk drive naming schemes.

 

When you download the build to your development machine for development and testing, debugging information may reference disk drives that don't exist on your machine, for example, drive X: while your machine only has C:, D:, and E: drives.

 

Or you may just be copying a build from a drive on a development machine to a subdirectory on a drive on your test machine.

 

These options let you remap the substitution so that the Coverage Validator looks in the correct place for the source code.

 

Add instructionStep adds a row to the File Paths Substitutions table instructionStep enter the new path that will replace the old path in the New Path column instructionStep click in the Old Path column instructionStep enter the path that is being replaced

 

For example, you might enter c:\users\stephen\documents for the new path and f:\dev\build for the old path.

 

You can double click to edit drives and paths in the table, or remove items:

 

Remove instructionStep removes selected substitutions from the list

 

Remove All instructionStep removes all substitutions from the list

 

Alternatively, press b_del to delete selected items, and b_ctrl + b_a to select all items in the list first.

 

 

Example: Changed disk drive

Project originally located at

m:\dev\build\testApp

Project copied to

e:\dev\build\testApp

New Path

e:\

Old Path

m:\

 

Example: Project copied to a new location

Project originally located at

f:\dev\build\testApp

Project copied to

C:\Users\Stephen\Documents\testApp

New Path

C:\Users\Stephen\Documents

Old Path

f:\dev\build

 

menu The slashes do not have to match, a forward slash will match a backslash when comparing path fragments. This is deliberate - to improve ease of use with libraries built by different compilers (LLVM and compilers that use it use forward slashes, whereas Visual Studio etc use backslashes).

 

 

Path Substitution Method

 

Path substitution can be turned off, use only manually specified paths, perform automatic path substitution based on best guesses based on information in the executable, or a combination.

 

Use the combo box to choose the appropriate path substitution method. The default is automatic path substitution and if that fails to try path substitution using the manually specified paths.

 

No path substitution instructionStep path substitution does not happen

Only substitute specified paths instructionStep path substitution uses the manually specified paths

Automatic substitution only instructionStep path substitution is performed automatically using information in the executable

Automatic substitution, specified paths if substitution fails instructionStep an attempt at automatic path substitution is made, if this fails path substitution is performed using the manually specified paths

 

The default is Automatic substitution, specified paths if substitution fails.

 

 

**IMPORTANT**

 

File Substitution is for updating the source code paths in the debugging information as the code coverage information is being collected.

 

It is not for fixing up paths because you accidentally collected coverage using one set of paths on computerA and a different set of paths on computerB and then want to fix those paths (for example when merging collected data).

 

The correct solution for this scenario is to fix the paths on both machines to match each other. You are in control of this scenario, therefore you can set it up correctly.

 

It is not the same as the build machine vs dev machine environment where the build directory may change with each rolling build and the dev machine may have multiple branches on it, each with a different path.

 

 

Reset All - Resets all global settings, not just those on the current page.

 

 

Reset - Resets the settings on the current page.