Skip to content
Back to skills

Windows Symbols Debugging

ASecurity

Use when resolving Windows PDBs, matching symbols to a loaded module or dump, configuring WinDbg/DbgHelp symbol paths, recovering build-specific types, or validating an address, RVA, and structure layout before native debugging or reverse engineering.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
code-qualitydebugging

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 17, 2026

npx -y skills add NetVar1337/agent-skill-canon --skill windows-symbols-debugging --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Windows Symbols Debugging?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Windows Symbols Debugging
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/netvar1337-windows-symbols-debugging/badge)](https://www.skillsdirectory.com/skills/netvar1337-windows-symbols-debugging)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: windows-symbols-debugging
description: Use when resolving Windows PDBs, matching symbols to a loaded module or dump, configuring WinDbg/DbgHelp symbol paths, recovering build-specific types, or validating an address, RVA, and structure layout before native debugging or reverse engineering.
license: MIT
---
# Windows symbols and debugger ground truth

Resolve symbols before treating a function name, source line, type, or field offset as fact. This skill is for symbol/build correctness; load `windows-internals`, `windows-driver-0day`, or a binary-analysis skill after the target is identified.

## 1. Capture module identity

For every executable, DLL, driver, or dump module record:

- full path, SHA-256, file/product version, architecture, and PE timestamp;
- image base when loaded, RVA of the address under analysis, and file offset only when needed;
- PDB GUID plus age from the CodeView debug directory;
- loaded-module timestamp, checksum, and debugger-reported symbol status.

A filename and Windows version are insufficient: servicing can replace individual modules.

Completion: an evidence record can distinguish the exact module from a same-named binary on another build.

## 2. Configure a reproducible symbol path

Use a cache, then the Microsoft public symbol server. In WinDbg:

```text
.symfix C:\Symbols
.sympath+ srv*C:\Symbols*https://msdl.microsoft.com/download/symbols
.reload /f <module-name>
!sym noisy
.reload /f <module-name>
!sym quiet
lmvm <module-name>
```

For offline or restricted analysis, retain the downloaded PDB and record its source. Do not point a debugger at an arbitrary PDB merely because its filename matches.

Completion: `lmvm` shows the expected image and the loaded PDB provenance is captured.

## 3. Validate the match

1. Compare the module's RSDS GUID/age with the candidate PDB.
2. Confirm the debugger's loaded image base and calculate `RVA = VA - image base` explicitly.
3. Resolve at least one known exported, public, or disassembly-verified address from symbol to instruction.
4. For private or reconstructed types, corroborate each field with code accesses, object dumps, or independent build-matched evidence.
5. Mark public symbols, inferred labels, and guessed names differently in notes and tooling.

Completion: each address/type assertion states module hash/build, PDB identity, RVA, and validation method.

## 4. Debugger evidence loop

Use the smallest observation that settles the question:

```text
lm m <module>          ; module base/range
lmvm <module>          ; image and symbol details
x <module>!*pattern*   ; symbol lookup
ln <address>           ; nearest symbol/source line
u <address>            ; instruction validation
!lmi <module>          ; image metadata
.dt <type> <address>   ; typed object only after match validation
```

For a dump, first confirm its OS build, kernel image, processor architecture, and dump completeness. A missing page, optimized code, or incorrect context limits the conclusion; record that limit instead of inventing a field value.

## Handoff record

```markdown
| module | sha256 | image base | RVA | PDB GUID/age | symbol state | validation | confidence |
```

## Final gate

- [ ] Module identity and loaded base recorded.
- [ ] PDB GUID/age match verified or mismatch documented.
- [ ] Addresses reported as module + RVA, not bare VAs.
- [ ] Reconstructed type fields have independent evidence.
- [ ] Debugger output and symbol path are preserved with the case.

Files in this skill

  • SKILL.md3.4 KB
  • agents/openai.yaml43 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.