Debug Symbols

For Applications built using Microsoft Platform SDK Debug Symbols are written to an Application PDB file when the Application is built.

The Debugging Tools for Windows, an API used by the Visual Execution Debugger, uses these symbols to present meaningful information to Execution Analyzer controls.

These symbols can easily get out of date and cause errant behaviour. The debugger might highlight the wrong line of code in the editor whilst at a breakpoint. It is therefore best to ensure the application is built prior to any debugging or recording session.

The debugger must inform the API how to reconcile addresses in the image being debugged. It does this by specifying a number of paths to the API that tell it where to look for PDB files. The API automatically picks up the path to the main image PDB from the image itself.

For system DLLs (kernel32, mfc90ud ...) for which no debug symbols are found, the Call Stack shows some frames with module names and addresses only .

You can supplement the symbols translated by passing additional paths to the API. To do this there must be a Package Script selected and it must have the Native debugger specified.

You pass additional symbol paths in a semi-colon separated list in the Enter any runtime variables... field of the Debug tab, as illustrated below.

VEA - adding symbol paths