DbgHelp Browser

Are you fed up wondering how to peek inside your PDB file?

You’ve got a crash report from a customer site, but no symbols. How do you turn that address into a useful symbol, filename and line?

The Problem: Symbols in a PDB file, but no easy way to view them

Without a dedicated tool to work out the symbol for a crash address you can symbol using a really clunky method with the Visual Studio debugger:

  1. Finding the correct executable
  2. Start it (single step, F11)
  3. Looking up the appropriate DLL load address in the Modules window (via the Debug menu)
  4. Adjusting the crash address for the current location of the DLL (it will most likely be different due to Address Space Layout Randomization (ASLR))
  5. Then getting the display to go to that location by either changing the instruction pointer EIP/RIP, or switch to the disassembly view then paste the address into the location bar above the disassembly view

This process is slow, tedious and error prone, and assumes that you have the correct PDB available for the DLL that you’re trying to get symbols for. If you don’t have the PDB, or you have the correctly named PDB for the wrong version of the DLL, you’re out of luck, you’ll have no symbols.

You need something better, something easier, something more reliable and repeatable.

Interactive PDB file viewer

DbgHelp Browser is an interactive PDB viewer and crash address converter, reading symbol information stored in Program Database files and Portable Program Database files for Visual Studio, and Visual Basic 6.

Sorting

You can sort PDB symbols by name, calling convention, symbol address, symbol size, type, flags, filename and line. Clicking a column header sorts the symbol according to that column. Clicking the same column again reverses the sort direction.

Filters

You can filter the PDB symbols by function/data name allowing you to quickly and easily find the symbols of interest.

DbgHelp PDB symbols filter

Filtered DbgHelp PDB symbols results

Symbol Servers

Symbol server support is provided if you need to pull symbols from a remote symbol store.

Turning crash addresses into symbols

Once you’ve loaded your PDB symbols an interactive query browser allows you to find the right symbol for four different crash address calculations

  • Absolute crash address. You know the address of the crash and the load address of the DLL containing that address.
    Query PDB Symbol By Absolute Address Dialog With Data
  • DLL relative crash address. You know the crash offset inside the DLL
    Query PDB Symbol By DLL Relative Address Dialog With Data
  • Symbol relative crash address. You know the crash offset from a symbol inside the DLL.
    PDB symbol relative dialog
  • XML Data from a Windows event log crash event.
    Query PDB Symbol By Event Viewer XML Crash Log Dialog With Data

The ability to lookup symbol information so easily is invaluable when investigating crashes.

Get started now. Load your PDB symbols and find the crash location and identify the root cause in a few minutes.

Fully functional, free for 30 days