Use when setting up debug symbol servers on Windows.
Scanned 9/10/2026
Install to Claude Code
npx -y skills add LoopyLuci/Skills --skill windows-symbol-server --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Windows Symbol Server?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/loopyluci-windows-symbol-server)More formats (shields.io, HTML) on the badges page.
---
name: windows-symbol-server
description: "Use when setting up debug symbol servers on Windows."
category: software-development
tags: [windows, symbols, debugging, pdb, windbg]
---
# Windows Symbol Server
Setting up debug symbol servers and configuring debuggers.
## Microsoft Public Symbol Server
```powershell
# For debugging Windows system code
$env:_NT_SYMBOL_PATH = "srv*C:\Symbols*https://msdl.microsoft.com/download/symbols"
# Make permanent (User)
[Environment]::SetEnvironmentVariable('_NT_SYMBOL_PATH',
'srv*C:\Symbols*https://msdl.microsoft.com/download/symbols', 'User')
```
## Local Symbol Cache
```powershell
# Create local cache
New-Item -ItemType Directory -Path "C:\Symbols" -Force
# Pre-cache common symbols
# Run windbg or use symchk:
symchk /r c:\windows\system32\*.exe /s srv*C:\Symbols*https://msdl.microsoft.com/download/symbols
```
## Custom Symbol Server for Your App
```powershell
# During build, publish PDBs alongside binaries
# In CMake:
# set(CMAKE_CXX_FLAGS_DEBUG "/Zi /Fd${CMAKE_BINARY_DIR}/symbols/")
# set(CMAKE_CXX_FLAGS_RELEASE "/Zi /Fd${CMAKE_BINARY_DIR}/symbols/")
# After build, copy PDBs to symbol share
$symbolShare = "\\server\symbols"
Copy-Item "build\*.pdb" $symbolShare -Recurse
# Or use symstore (from Debugging Tools for Windows)
symstore add /r /f "build\*.pdb" /s "\\server\symbols" /t "MyApp" /v "1.0.0"
```
## Configure Debugger
```powershell
# WinDbg
# .sympath srv*C:\Symbols*https://msdl.microsoft.com/download/symbols;\\server\symbols
# .reload /f
# VS Code (launch.json)
# {
# "symbolOptions": {
# "searchPaths": ["C:\\Symbols", "\\\\server\\symbols"],
# "searchMicrosoftSymbolServer": true
# }
# }
# Visual Studio
# Tools → Options → Debugging → Symbols
# Add: \\server\symbols
# Check: Microsoft Symbol Servers
# Cache: C:\Symbols
```
## Debugging with Symbols
```powershell
# Check if symbols are loaded
# WinDbg: lm
# VS: Modules window
# Force symbol load
# WinDbg: .reload /f myapp.exe
# VS: Ctrl+Alt+U → Right-click module → Load Symbols
# Verify symbol matches binary
# chkmatc h:
chkmatch myapp.exe myapp.pdb
```
## Pitfalls
- PDB path embedded in binary during build -- if moved, symbols won't load
- Release builds with /Zi generate PDBs but no tracking -- use /DEBUG:FULL
- Symbol server needs write access for symstore
- Microsoft symbols are free but large (multi-GB cache over time)
- Public symbols don't have private information (line numbers, locals)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!