execute
Send CDB commands to an active debug session and get status, output, or error details. Drive debugging actions like stepping, breakpoints, and memory inspection directly.
Instructions
Send a CDB command to the current debug session. Returns status and output.
This is the core tool for interacting with CDB. The LLM constructs valid CDB command strings; the server forwards them to cdb.exe.
Returns JSON: {"status": "completed", "output": "..."} -- command finished {"status": "pending", "output": "..."} -- command timed out but still running {"status": "error", "output": "", "error": "..."} -- error occurred
When status is "pending":
The command is still running in CDB (not interrupted)
Use get_output() to poll for more output
Use interrupt() to interrupt the command
Use wait_for_prompt() to wait for completion
Common commands:
g : continue execution (often returns pending; use interrupt to stop)
t / p / gu : step into / step over / step out
bp / bc / bl : set / remove / list breakpoints
r : display registers
k : display call stack
~ : list threads
lm : list modules
dv : display local variables
?? expr : evaluate expression
u addr : disassemble
d addr L n : read memory
!analyze -v : automatic crash analysis (slow; use large timeout)
Note: q/qq/qd commands are blocked (use close_session instead).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | ||
| timeout | No | ||
| session_id | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |