Skip to main content
Glama

Debug This Crash

debug_this_crash
Destructive

Diagnose native crashes by inspecting live or dumped debugger state, launching authorized DAP adapters, and verifying fixes through a bounded autonomous workflow.

Instructions

Preferred high-level native crash workflow. Use mode=current for an already stopped session, dump for read-only postmortem analysis, codelldb to discover CodeLLDB and launch a local binary, lldb-dap to discover upstream LLVM lldb-dap and launch a local binary, or live with an already initialized generic DAP adapter. Do not use codelldb/lldb-dap/live when executing or attaching to the target is not authorized: those modes can run application code and cause its normal side effects, while current/dump only inspect stopped evidence. workflow.stage selects initial diagnosis, verification against a prior baseline, or the bounded autonomous cycle. Returns runtime evidence, diagnosis, verification/autonomous metadata, and debugger status with deterministic fixed/blocked/budget-exhausted outcomes where applicable.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cwdNoWorking directory for the selected debugger/target launch and a project-root hint for diagnosis.
envNoEnvironment variables supplied to the launched program in mode=codelldb or mode=lldb-dap.
argsNoCommand-line arguments passed to the launched program in mode=codelldb or mode=lldb-dap.
modeNocurrent inspects an existing stop; live runs launch/attach through an initialized DAP session; codelldb starts CodeLLDB; lldb-dap starts upstream LLVM lldb-dap; dump opens a frozen core/minidump.current
programNoRequired for mode=codelldb and mode=lldb-dap; optional for CodeLLDB dumps but required when dumpAdapter=lldb-dap. Local path to the native executable.
requestNoFor mode=live, choose whether the initialized DAP adapter launches a target or attaches to an existing authorized target.launch
analysisNoHints used to distinguish project code from runtime, system, or third-party frames.
dumpPathNoRequired for mode=dump: local path to the native core/minidump file.
snapshotNoBounds and optional evidence categories for a runtime crash snapshot.
workflowNoControls one-shot diagnosis, explicit verification, or the bounded autonomous crash workflow.
sourceMapNoFor mode=dump, map source paths stored in debug symbols to local source paths.
timeoutMsNoMaximum milliseconds to wait for the reproduction to stop, exit, or terminate.
adapterPathNoOptional explicit debugger-adapter executable path for codelldb/lldb-dap/dump modes; omit to auto-discover the selected adapter.
breakpointsNoOptional source breakpoints configured before a live/codelldb reproduction completes setup.
dumpAdapterNoFor mode=dump, choose CodeLLDB compatibility behavior or upstream LLVM lldb-dap coreFile loading.codelldb
stopOnEntryNoWhen true in mode=codelldb or mode=lldb-dap, request an initial debugger stop at program entry before normal execution.
configurationNoRequired for mode=live: adapter-specific DAP launch/attach configuration.
requestTimeoutMsNoPer-request DAP timeout in milliseconds for CodeLLDB operations.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations mark the tool destructiveHint=true and readOnlyHint=false, and the description expands that into concrete guidance by warning that execution modes 'can run application code and cause its normal side effects.' It further distinguishes current/dump as 'only inspect stopped evidence' and discloses deterministic fixed/blocked/budget-exhausted outcomes, which annotations do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with clear roles: mode overview, safety boundary, and workflow/return summary. It is dense but every sentence earns its place, and the front-loaded 'Preferred high-level native crash workflow' gives immediate orientation for a complex 18-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 18 parameters, nested objects, and no output schema, the description covers the high-level decision axes of mode, safety, and workflow.stage, and what to expect in return. It leaves detailed response shape and substage mechanics to the schema or runtime, which is a modest gap given the schema's own richness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage, so the baseline is 3, and the description mostly restates mode and workflow.stage semantics already present in the schema. It adds limited selection-level framing, such as read-only postmortem versus execution-capable modes, but it does not materially expand parameter meaning beyond the well-described fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is explicitly framed as the 'Preferred high-level native crash workflow' and enumerates five modes, making it clear the tool owns end-to-end crash debugging rather than a single snapshot or disconnect action. It does not explicitly say how it differs from sibling tools like debug_diagnose_stop or debug_open_dump, so the differentiation is implicit through 'preferred high-level' and the mode list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mode-to-condition mapping is explicit: current for an already stopped session, dump for read-only postmortem analysis, codelldb/lldb-dap to discover and launch local binaries, live for an initialized DAP adapter. It also provides a clear exclusion: do not use codelldb/lldb-dap/live when execution/attach is unauthorized, since those modes run code while current/dump only inspect stopped evidence. workflow.stage is also mapped to diagnose/verify/autonomous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SLP-DEV1/qwen-dap-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server