A powerful, lightweight PDB (Program Database) viewer tool based on Win32 API and DIA SDK.
Main Interface
Header View
Export Settings
- Tree View - Browse all functions, classes, structs, unions, enums, and global variables
- Details View - View detailed properties (name, type, offset, size, etc.)
- Header View - Auto-generate C++ header declarations with syntax highlighting
- Base Class Expansion - Expand base class members to view complete structure
- Open DLL/EXE files directly, auto-download corresponding PDB from symbol server
- Custom mirror source support for faster downloads
- Auto-read PE debug info (GUID, Age)
- Drag & drop support for DLL/EXE files
- CSV Format - Export all data, functions only, or classes only
- XML Format - Structured export of all symbol information
- C++ Headers - Export single class or batch export all headers
- Enhanced Options - Flatten namespaces, remove void params, include address comments
- Symbol search with fuzzy matching
- Search history
- Search history dropdown menu
- Chinese (Simplified) interface
- English interface
- Auto-detect system language
- Language files embedded in exe, no external dependencies
- Hexadecimal display
- Decimal display
- Show both
PDBInsight.exe [options] [file]
Options:
-h, --help Show help
-q, --quiet Quiet mode (no UI, for batch processing)
-d, --download Auto-download PDB for DLL/EXE
-e, --export Export format (csv, xml, header, allheaders)
-o, --output Output file/directory path
-c, --class Export specific class/struct
-a, --all Export all classes/structs
-l, --list List all classes in PDB
Examples:
PDBInsight.exe mylib.pdb # Open PDB directly
PDBInsight.exe -d kernel32.dll # Open DLL and auto-download PDB
PDBInsight.exe -e csv -o output.csv mylib.pdb # Export to CSV
PDBInsight.exe -e header -c MyClass -o MyClass.h mylib.pdb # Export specific class
PDBInsight.exe -l mylib.pdb # List all classes- Resizable splitter
- Status bar with loading progress and download status
- Keyboard shortcuts
- Right-click menu
- Drag & drop file opening (PDB, DLL, EXE)
- High DPI display support
- Windows 7 or later
- Open
PDBViewer.slnsolution file - Select configuration (Debug or Release) and platform (x64)
- Click "Build" → "Build Solution" or press F7
& "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" PDBViewer.sln /p:Configuration=Release /p:Platform=x64Output: x64\Release\PDB Insight.exe
PDBViewer/
├── src/
│ ├── Core/ # Core window and application logic
│ │ ├── MainWindow.cpp/h # Main window implementation
│ │ └── PDBViewer.cpp/h # Application entry point
│ ├── Managers/ # Manager modules
│ │ ├── AppState.cpp/h # Global state management
│ │ ├── ConfigManager.cpp/h # Configuration management
│ │ ├── CommandLineManager.cpp/h # Command line management
│ │ ├── ControlsManager.cpp/h # Controls management
│ │ ├── DragDropManager.cpp/h # Drag-drop management
│ │ ├── ExportManager.cpp/h # Export management
│ │ ├── HeaderViewManager.cpp/h # Header view management
│ │ ├── LanguageManager.cpp/h # Language management
│ │ ├── ListViewManager.cpp/h # List view management
│ │ ├── PDBDownloader.cpp/h # PDB download management
│ │ ├── SearchManager.cpp/h # Search management
│ │ ├── SettingsManager.cpp/h # Settings window
│ │ ├── TreeNodeHelper.cpp/h # Tree node helper
│ │ └── TreeViewManager.cpp/h # Tree view management
│ └── PDB/ # PDB parsing and export
│ ├── PDBData.h # Data structure definitions
│ ├── PDBParser.cpp/h # PDB parser
│ ├── PDBExporter.cpp/h # Export functionality
│ └── PDBHeaderGenerator.cpp/h # Header generator
├── i18n/ # Internationalization
│ ├── zh-CN.json # Chinese language file
│ └ en-US.json # English language file
├── docs/ # Documentation
├── PDBViewer.sln # Visual Studio solution
└── PDBViewer.rc # Resource file
- Launch
PDB Insight.exe - Click "File" → "Open PDB File" or press Ctrl+O
- Click "File" → "Open DLL/EXE File" to auto-download PDB
- Browse and select items in the left tree view
- View detailed properties in the "Details" tab
- View auto-generated headers in the "Header View" tab
- Use the search box to search symbols
- Right-click for additional functions
| Shortcut | Function |
|---|---|
| Ctrl+O | Open PDB file |
| Ctrl+C | Copy selected content |
| Ctrl+F | Search |
- Toggle offset display format (hex/decimal/both)
- Copy - Copy selected cell content
- Search - Search using selected content
- Copy - Copy selected text
- Search - Search using selected text
- Language: C++17
- GUI Framework: Win32 API
- IDE: Visual Studio 2022
- Core Dependency: DIA SDK (msdia140.dll)
- Controls: TreeView, ListView, TabCtrl, RichEdit
- Encoding: Unicode
StackAndPointer


