The File Locations tab allows you to specify which directories Performance Validator should look in for source code files, whether that's your own or third party code.
The default settings are shown below:
Read on, or click on a setting in the picture below to find out more:
Sometimes the information Performance Validator has access to consists of the file name, but not the directory.
When this happens Performance Validator scans a set of directories that it knows about in order to find the file.
The options below allow you to specify those directories that should be searched for source files, PDB files and MAP files.
If a file can't be found, you'll get prompted for a location, but you can control this below as well.
There are four path types, and a separate list of directories to scan for each one.
•Path Type select the type of file with which you want to modify the list directory
You don't have to specify any directories if you don't want to, or if you just don't have them. Nor do you have to give directories for all the path types.
Whenever a file still cannot be found, then the default action is for a dialog to ask you where it is.
To avoid frequent user interruption, it is recommended that the directories for source code files (yours and third party) are specified, enabling Performance Validator to automatically load source code for browsing.
If however, you don't want to be prompted for locations, you can disable that too.
•Ask for location of file... untick to stop prompting for file locations
Even when prompting is switched on, it can still happen that the line in question is invalid anyway, e.g. line number 0 or -1.
The default is not to prompt for invalid lines, but if you want to know when that happens, just switch that behaviour off.
•Don't ask for location of file if line number is not valid... untick to be prompted for invalid lines anyway
Normally PDB search paths are automatically generated, based on the same directories that .exe and .dll files are found in:
•Automatically detect PDB paths automatically detect PDB locations (the default)
However, it is recommended that you specify paths for PDB (program database) files, especially if your build environment dictates that PDB files are kept in different directories to their binaries.
If you don't automatically generate PDB paths and you don't specify any paths for PDBs, the search path will be defined as the current directory plus any paths found in the following environment variables:
•_NT_SYMBOL_PATH
•_NT_ALTERNATE_SYMBOL_PATH
•SYSTEMROOT
It's recommended that you specify paths for Map files if your build environment means they are kept in different directories to their binaries.
If you don't specify any paths for Map files, then search paths are automatically generated, based on the same directories that .exe and .dll files are found in.
Once you have chosen your path type you can modify the list of files for each path type in the following ways:
•Add appends a row to the directory list enter the directory path
Edit a directory path by double clicking the entry. The usual controls apply for removing list items:
•Remove removes selected items from the list
•Remove all clears the list
•Remove invalid removes all items that are not valid directories from the list
Alternatively, press to delete selected items, and + to select all items in the list first.
The File Scan... button displays the File Search dialog to provide three ways of specifying the files to scan.
•Visual Studio Search choose the version of Visual Studio OK starts a scan for directories related to that version of Visual Studio
•Directory Search Browse... displays a directory browser navigate to a location you want to scan within OK starts a scan for directories
•File System Search OK starts a scan of all drives for directories containing files
All options will bring up a File Scan dialog indicating number of relevant directories found, and giving you a chance to Stop or Cancel the scan at any time:
Once the scan is complete you'll see the File Paths dialog showing you the scan results:
You can modify the list of resulting directories by adding, removing or editing, exactly as for the path type list above.
Once you're happy with the scan results, either append or replace the path type directories with the scan results.
•Add To List adds the scan results list to the path type directories and closes the File Paths dialog
•Replace List replaces the path type directories with the scan results
•Cancel discard the scan results and close the dialog
Since the list of path types and their file locations can be quite complicated to set up and optimise, you can export the settings to a file and import them again later. This is useful when switching between different target applications.
•Export... choose or enter a filename Save outputs all the path types and their file locations to the file
•Import... navigate to an existing *.pvxfl file Open loads the hooking rule and the list of modules
The exported file can be used with the -fileLocations command line option.
The file format is plain text with one folder listed per line. Sections are denoted by a line containing [Files] (for source code files), [Third] (for third party source code files), [PDB] etc.
Example:
[Files]
c:\work\project1\
[Third]
d:\VisualStudio\VC98\Include
[PDB]
c:\work\project3\debug
c:\work\project3\release
[MAP]
c:\work\project3\debug
c:\work\project3\release
To see the order in which the DbgHelp.dll process checks directories to find symbols, see the diagnostic tab, showing DbgHelp debug in the drop-down.
Reset All - Resets all global settings, not just those on the current page.
Reset - Resets the settings on the current page.