Load PDB

Symbol Servers and Symbol Storage

In an effort to manage large collections of symbol files, Microsoft specified a scheme to organize symbol files into directory structures.

Ghidra can search Microsoft-style symbol servers (web-based HTTP/HTTPS) or local file system symbol storage directories as well as unorganized, non-MS symbol storage directories for the PE executable's matching PDB symbol file.

Menu Actions

Load PDB File

Allows the user to pick a PDB file or search for a PDB file and apply it to the currently open program in the CodeBrowser.

Use this action instead of the PDB Analyzer if the PDB file can't be found automatically with the currently configured symbol server search locations, if you need to force load a non-exact PDB file, or you need to use other PDB options.

Steps:

Symbol Server Config

Allows the user to configure the location where PDB symbol files are stored and additional locations to search for existing PDB files.

Steps:

 (Add)

Allows the user to add a location to the search path list. Pick from the offered types of locations, or pick a predefined location.

  • Directory - allows the user to pick an existing directory that will be searched for symbol files. See level 1/level 2 or unorganized directory descriptions.
  • URL - allows the user to enter a HTTP or HTTPS URL to a web-based symbol server.
  • Program's Import Location - automatically references the directory from which the program was imported.
  • Import _NT_SYMBOL_PATH - parses the current value of the _NT_SYMBOL_PATH system environment variable to extract URLs and symbol directory locations to be added to the Ghidra configuration. If no environment value is present, the user can paste their own value into the text field.

All items listed after the menu dividing line are automatically added from resource files that have a *.pdburl extension. The default file included with Ghidra is called PDB_SYMBOL_SERVER_URLS.pdburl and is located in the Ghidra/Configurations/Public_Release/data directory under the Ghidra install directory.

 (Delete)

Deletes the currently selected locations from the Additional Search Paths table.

 (Up/Down)

Moves the currently selected item up or down in the Additional Search Paths table.

 (Refresh)

Updates the status column of the locations listed in the Additional Search Paths table. Symbol servers or storage locations that are unreachable or misconfigured will show an error status in that column.

 (Save)

Saves the currently displayed search and storage locations to the preferences file. This is shared between all Ghidra tools.

PDB Search - Search Options

These options control how PDB symbol files are found.

Additionally, there are override checkboxes in the Program PDB Information panel in the Advanced screen. These override values only change the search criteria, they are not persisted to your program's metadata.

After changing a search option, you will need to perform another search to use the new options.

PDB Parser

These options control which PDB parser will be used and any options used during parsing after the Load button is pressed.

Control (Universal only) - Controls how the PDB is applied to the Program

Troubleshooting




Related Topics: