Skip to content
Back to skills

Cdb Windows Debug

ASecurity

Debug native Windows programs and crash dumps via the devtools-mcp cdb backend (batch-mode CDB). Use when a Windows .exe crashes, you have a .dmp file, or you need all-thread stacks / a crash bucket without a GUI debugger. Covers !analyze -v triage, ~*k thread stacks, register/locals inspection, installing cdb, and symbol setup. Headless and scriptable, the Windows analog of the LLDB debug tools.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsdebuggingbackend

Works with

  • mcp

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add Ugbot/ai-grind --skill cdb-windows-debug --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cdb Windows Debug?

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

Security grade badge for Cdb Windows Debug
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ugbot-cdb-windows-debug/badge)](https://www.skillsdirectory.com/skills/ugbot-cdb-windows-debug)

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: cdb-windows-debug
description: >
  Debug native Windows programs and crash dumps via the devtools-mcp cdb backend
  (batch-mode CDB). Use when a Windows .exe crashes, you have a .dmp file, or you
  need all-thread stacks / a crash bucket without a GUI debugger. Covers
  !analyze -v triage, ~*k thread stacks, register/locals inspection, installing
  cdb, and symbol setup. Headless and scriptable, the Windows analog of the
  LLDB debug tools.
---

# Windows debugging with CDB (devtools-mcp `cdb:*`)

The `cdb` backend runs CDB, the console Windows debugger, in batch mode:
a scripted `-c "...;q"` command sequence, captured and parsed into a structured
snapshot. No interactive console, so it's safe to run headless. Three tools:

| tool | CDB script | use for |
|---|---|---|
| `analyze` | `!analyze -v` | crash triage: exception code, faulting module, bucket |
| `stacks` | `~*kn` | every thread's backtrace (hangs, deadlocks, "where is it") |
| `inspect` | `kn; r` | current backtrace + registers |

## Install cdb

cdb ships with **Debugging Tools for Windows** (Windows SDK) or
`winget install Microsoft.WinDbg`. The backend finds it via `$DEVTOOLS_CDB`,
PATH, or the SDK `Debuggers\x64` folder. `devtools_check()` shows whether it's
available and how to install it.

## Triage a crash dump

```
devtools_run(suite="cdb", tool="analyze", binary="", extra_args=["--dump","C:/dumps/app.dmp"])
```

The summary surfaces the key `!analyze -v` fields, namely `EXCEPTION_CODE`,
`SYMBOL_NAME`, `MODULE_NAME`, and `FAILURE_BUCKET_ID`, plus the faulting thread's top
frames. Then drill in:

```
devtools_analyze(run_id, function_pattern="mymodule")      # frames in your code
devtools_flamegraph(run_id)                                # all thread stacks as a graph
```

## Debug a live exe

```
devtools_run(suite="cdb", tool="stacks", binary="C:/path/app.exe", args=["--flag"])
```

(`cdb -g -G` runs to the end / through the initial breakpoint, then dumps stacks.)

## Symbols

Set `_NT_SYMBOL_PATH` so frames resolve to `module!function` instead of raw
addresses, e.g.:
```
SRV*C:\symbols*https://msdl.microsoft.com/download/symbols
```
plus the folder holding your app's PDBs. Without symbols, backtraces are just
offsets.

## Reading the output

- **`EXCEPTION_CODE` `c0000005`** = access violation (null/dangling pointer);
  `c00000fd` = stack overflow.
- The faulting thread is the one whose top frame matches `SYMBOL_NAME`, and its
  frames are shown first.
- All-thread `stacks` + `devtools_flamegraph` makes a deadlock obvious: multiple
  threads parked in the same lock path.

## Notes

- Batch mode covers crash/hang triage and dumps. **Interactive step-through** on
  Windows (breakpoints, stepping) is a planned follow-up (a ConPTY session
  mirroring the LLDB `debug_*` tools).
- For step-through on macOS/Linux today, use the LLDB `debug_start`/`debug` tools.
  Overall workflow: [[devtools-mcp-usage]].

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…