Skip to main content
Glama

Open Native Crash Dump

debug_open_dump
Read-onlyIdempotent

Open a recorded core/minidump with a local debugger adapter and capture bounded postmortem evidence (stack, locals, registers, modules, disassembly) without executing the crashed program.

Instructions

Open a local native core/minidump with CodeLLDB, upstream LLVM lldb-dap, or GNU GDB DAP and capture bounded postmortem evidence. Use this when the failure is already recorded and no target process should execute; use debug_run_to_stop or debug_this_crash for a live reproduction instead. The tool starts only the selected local debugger adapter, never launches or resumes the crashed program, treats the dump as read-only, and returns the initial stack/locals/registers plus optional modules and disassembly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cwdNoWorking directory for the local debugger adapter process; this does not execute the crashed target.
adapterNoDebugger adapter used for postmortem inspection. lldb-dap and gdb use their native coreFile attach semantics.codelldb
programNoPath to the matching executable image. Optional for CodeLLDB/GDB, but required when adapter=lldb-dap because LLVM coreFile loading binds the dump to its program image.
dumpPathYesAbsolute or local path to the native core/minidump file to inspect.
threadIdNoSpecific dump thread to inspect; omit to use the debugger-selected stopped/crashed thread.
sessionIdNoOptional DAP session ID. Omit to use the backward-compatible default session.
sourceMapNoOptional mapping from source paths recorded in symbols to local source paths. Supported by CodeLLDB/lldb-dap; GDB currently rejects this field rather than guessing undocumented semantics.
adapterPathNoOptional explicit executable path for the selected debugger adapter; omit to use its normal discovery logic.
moduleCountNoMaximum number of modules to include when includeModules is true.
stackLevelsNoMaximum stack frames to include in the initial postmortem snapshot.
includeModulesNoInclude loaded executable images and libraries recorded in the dump.
requestTimeoutMsNoPer-request DAP timeout in milliseconds while opening and inspecting the dump.
includeDisassemblyNoInclude best-effort instructions around the selected crash frame.
maxVariablesPerScopeNoMaximum variables returned per scope in the initial snapshot.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYes
attachYes
adapterYes
programNo
dumpPathYes
guidanceYes
snapshotYes
adapterKindYes
capabilitiesYes
readOnlyTargetYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed6 schema fields changedv0.17.0
    • changedInput schema / properties / adapter / description
      Previous value: -"Debugger adapter used for postmortem inspection. codelldb preserves existing behavior; lldb-dap uses upstream LLVM coreFile attach semantics."New value: +"Debugger adapter used for postmortem inspection. lldb-dap and gdb use their native coreFile attach semantics."
    • changedInput schema / properties / adapter / enum
      Previous value: -[
      -  "codelldb",
      -  "lldb-dap"
      -]New value: +[
      +  "codelldb",
      +  "lldb-dap",
      +  "gdb"
      +]
    • changedInput schema / properties / program / description
      Previous value: -"Path to the matching executable image. Optional for CodeLLDB, but required when adapter=lldb-dap because LLVM coreFile loading binds the dump to its program image."New value: +"Path to the matching executable image. Optional for CodeLLDB/GDB, but required when adapter=lldb-dap because LLVM coreFile loading binds the dump to its program image."
    • addedInput schema / properties / sessionId
      Added value: +{
      +  "description": "Optional DAP session ID. Omit to use the backward-compatible default session.",
      +  "maxLength": 64,
      +  "minLength": 1,
      +  "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$",
      +  "type": "string"
      +}
    • changedInput schema / properties / sourceMap / description
      Previous value: -"Optional mapping from source paths recorded in symbols to local source paths; converted to lldb-dap pair arrays when that adapter is selected."New value: +"Optional mapping from source paths recorded in symbols to local source paths. Supported by CodeLLDB/lldb-dap; GDB currently rejects this field rather than guessing undocumented semantics."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "adapter": {},
      +    "adapterKind": {
      +      "enum": [
      +        "codelldb",
      +        "lldb-dap",
      +        "gdb"
      +      ],
      +      "type": "string"
      +    },
      +    "attach": {},
      +    "capabilities": {},
      +    "dumpPath": {
      +      "type": "string"
      +    },
      +    "guidance": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "blockedOperations": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "canInspect": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "cannotResume": {
      +          "type": "boolean"
      +        },
      +        "note": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "canInspect",
      +        "blockedOperations",
      +        "cannotResume",
      +        "note"
      +      ],
      +      "type": "object"
      +    },
      +    "mode": {
      +      "const": "postmortem",
      +      "type": "string"
      +    },
      +    "program": {
      +      "type": "string"
      +    },
      +    "readOnlyTarget": {
      +      "const": true,
      +      "type": "boolean"
      +    },
      +    "snapshot": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "collectionErrors": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "message": {
      +                "type": "string"
      +              },
      +              "operation": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "operation",
      +              "message"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "disassembly": {
      +          "items": {},
      +          "type": "array"
      +        },
      +        "exception": {},
      +        "frame": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "column": {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            },
      +            "id": {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            },
      +            "line": {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "source": {}
      +          },
      +          "required": [
      +            "id",
      +            "name",
      +            "line",
      +            "column"
      +          ],
      +          "type": "object"
      +        },
      +        "locals": {
      +          "items": {},
      +          "type": "array"
      +        },
      +        "modules": {
      +          "items": {},
      +          "type": "array"
      +        },
      +        "postmortem": {
      +          "type": "boolean"
      +        },
      +        "registers": {
      +          "items": {},
      +          "type": "array"
      +        },
      +        "scopes": {
      +          "items": {},
      +          "type": "array"
      +        },
      +        "stack": {
      +          "items": {
      +            "additionalProperties": {},
      +            "properties": {
      +              "column": {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              "id": {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              "line": {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "source": {}
      +            },
      +            "required": [
      +              "id",
      +              "name",
      +              "line",
      +              "column"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "stopped": {},
      +        "symbolHealth": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "limitations": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "modules": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "collected": {
      +                  "type": "boolean"
      +                },
      +                "symbolsAvailable": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "symbolsMissing": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "symbolsUnknown": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "totalModules": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "withExplicitStatus": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                }
      +              },
      +              "required": [
      +                "collected",
      +                "totalModules",
      +                "withExplicitStatus",
      +                "symbolsAvailable",
      +                "symbolsMissing",
      +                "symbolsUnknown"
      +              ],
      +              "type": "object"
      +            },
      +            "stack": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "namedFrames": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "sourceMappedFrames": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "topFrameNamed": {
      +                  "type": "boolean"
      +                },
      +                "topFrameSourceMapped": {
      +                  "type": "boolean"
      +                },
      +                "totalFrames": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                }
      +              },
      +              "required": [
      +                "totalFrames",
      +                "namedFrames",
      +                "sourceMappedFrames",
      +                "topFrameNamed",
      +                "topFrameSourceMapped"
      +              ],
      +              "type": "object"
      +            },
      +            "status": {
      +              "enum": [
      +                "good",
      +                "partial",
      +                "poor",
      +                "unknown"
      +              ],
      +              "type": "string"
      +            },
      +            "summary": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "summary",
      +            "stack",
      +            "modules",
      +            "limitations"
      +          ],
      +          "type": "object"
      +        },
      +        "thread": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "id": {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            },
      +            "name": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "name"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "thread",
      +        "stack",
      +        "frame",
      +        "scopes",
      +        "locals",
      +        "registers",
      +        "symbolHealth"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "mode",
      +    "readOnlyTarget",
      +    "adapterKind",
      +    "dumpPath",
      +    "adapter",
      +    "capabilities",
      +    "attach",
      +    "snapshot",
      +    "guidance"
      +  ],
      +  "type": "object"
      +}
  2. Changed5 schema fields changedv0.13.0
    • addedInput schema / properties / adapter
      Added value: +{
      +  "default": "codelldb",
      +  "description": "Debugger adapter used for postmortem inspection. codelldb preserves existing behavior; lldb-dap uses upstream LLVM coreFile attach semantics.",
      +  "enum": [
      +    "codelldb",
      +    "lldb-dap"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / adapterPath / description
      Previous value: -"Optional explicit CodeLLDB executable path; omit to use normal CodeLLDB discovery."New value: +"Optional explicit executable path for the selected debugger adapter; omit to use its normal discovery logic."
    • changedInput schema / properties / cwd / description
      Previous value: -"Working directory for the local CodeLLDB adapter process; this does not execute the crashed target."New value: +"Working directory for the local debugger adapter process; this does not execute the crashed target."
    • changedInput schema / properties / program / description
      Previous value: -"Optional path to the matching executable image, used by CodeLLDB to improve symbol/module resolution."New value: +"Path to the matching executable image. Optional for CodeLLDB, but required when adapter=lldb-dap because LLVM coreFile loading binds the dump to its program image."
    • changedInput schema / properties / sourceMap / description
      Previous value: -"Optional mapping from source paths recorded in symbols to local source paths."New value: +"Optional mapping from source paths recorded in symbols to local source paths; converted to lldb-dap pair arrays when that adapter is selected."
  3. Changed12 schema fields changedv0.12.1
    • addedInput schema / properties / adapterPath / description
      Added value: +"Optional explicit CodeLLDB executable path; omit to use normal CodeLLDB discovery."
    • addedInput schema / properties / cwd / description
      Added value: +"Working directory for the local CodeLLDB adapter process; this does not execute the crashed target."
    • addedInput schema / properties / dumpPath / description
      Added value: +"Absolute or local path to the native core/minidump file to inspect."
    • addedInput schema / properties / includeDisassembly / description
      Added value: +"Include best-effort instructions around the selected crash frame."
    • addedInput schema / properties / includeModules / description
      Added value: +"Include loaded executable images and libraries recorded in the dump."
    • addedInput schema / properties / maxVariablesPerScope / description
      Added value: +"Maximum variables returned per scope in the initial snapshot."
    • addedInput schema / properties / moduleCount / description
      Added value: +"Maximum number of modules to include when includeModules is true."
    • addedInput schema / properties / program / description
      Added value: +"Optional path to the matching executable image, used by CodeLLDB to improve symbol/module resolution."
    • addedInput schema / properties / requestTimeoutMs / description
      Added value: +"Per-request DAP timeout in milliseconds while opening and inspecting the dump."
    • addedInput schema / properties / sourceMap / description
      Added value: +"Optional mapping from source paths recorded in symbols to local source paths."
    • addedInput schema / properties / stackLevels / description
      Added value: +"Maximum stack frames to include in the initial postmortem snapshot."
    • addedInput schema / properties / threadId / description
      Added value: +"Specific dump thread to inspect; omit to use the debugger-selected stopped/crashed thread."
  4. Addedv0.12.0

TDQS

A4.7/5.0
Behavior5/5

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

The description adds important behavioral context beyond the annotations: it starts only the debugger adapter, never launches or resumes the crashed program, treats the dump as read-only, and returns a bounded initial snapshot. This complements the readOnlyHint/idempotentHint annotations and gives the agent a clear safety profile.

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?

The description is compact and front-loaded: the action comes first, followed by usage context, safety behavior, and return scope. Every sentence earns its place with no filler or repetition.

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

Completeness5/5

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

For a 14-parameter tool, the description covers the key decision points: when to use it, what it does not do, what it returns, and how it differs from live-debugging siblings. The output schema and rich input schema cover the remaining detail, so nothing essential is missing.

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?

Schema description coverage is 100%, so the schema already documents every parameter in detail. The description adds some high-level context about adapters, modules, and disassembly, but it does not substantially go beyond what the input schema already provides.

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

Purpose5/5

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

The description clearly states the specific action: opening a local core/minidump with a local debugger adapter and capturing bounded postmortem evidence. It also explicitly distinguishes this tool from live-debugging siblings like debug_run_to_stop and debug_this_crash, so an agent can select it confidently.

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?

The description gives explicit when-to-use guidance: use it when the failure is already recorded and no target process should execute. It also names alternatives for live reproduction, leaving no ambiguity about when this tool is appropriate versus its siblings.

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

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