Skip to main content
Glama

Trace Runtime Value Writes

debug_trace_value
Destructive

Resume a live debugger to each confirmed writer of a suspicious variable found in crash evidence, capture bounded runtime evidence, and remove the temporary watchpoint at every stop.

Instructions

Build a bounded temporal write timeline for one debugger-visible variable or expression. Use this after differential or crash evidence identifies a suspicious value and repeated live-target resume is safe. The tool installs one temporary data breakpoint or watchpoint at a time, resumes to the next confirmed writer, captures bounded runtime evidence, removes only its own temporary watch, and repeats. Do not use it for crash dumps, unsafe-to-resume targets, or as proof that an observed writer is the root cause; it stops on unrelated debugger events rather than continuing through them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesDebugger-visible variable or expression to watch. Control characters and line breaks are rejected by the GDB fallback.
maxStopsNoMaximum confirmed or unrelated writer-stop observations before the trace ends.
snapshotNoOptional bounded evidence settings for each observed writer stop.
threadIdNoInitial stopped thread; omit to use the debugger-selected stopped thread. Writer snapshots follow the actual stopped event thread.
sessionIdNoOptional DAP session ID. Omit to use the backward-compatible default session.
timeoutMsNoAggregate operation deadline across the entire write timeline.
accessTypeNoWatch writes only by default; readWrite may be used when read access is also relevant.write
perStopTimeoutMsNoMaximum bounded wait allocated to each individual writer observation, also capped by the aggregate deadline.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes
eventsYes
statusYes
guidanceYes
stopReasonYes
finalSnapshotYes
terminalErrorNo

Schema Changelog

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

  1. Addedv0.17.0

TDQS

A4.5/5.0
Behavior5/5

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

The description discloses substantial behavioral detail beyond the annotations: it installs one temporary breakpoint/watchpoint at a time, resumes to the next confirmed writer, captures bounded evidence, removes only its own watch, and repeats. It also reveals a key limitation: the tool stops on unrelated debugger events rather than continuing through them. The destructiveHint and openWorldHint annotations are consistent with this live-target mutating behavior.

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 dense but efficient, front-loading the core purpose, then usage context, then operational behavior, then exclusions. Every sentence earns its place, and no content is repeated from the schema or annotations.

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?

Given the tool's complexity, the description covers the essential operational model, safety preconditions, limitations, and unsupported uses. An output schema exists, so the description does not need to explain return values. The combination of schema, annotations, and description gives an agent enough context to decide when and how to invoke the tool correctly.

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%, and each parameter already has a meaningful description, including defaults, bounds, and semantics such as aggregation deadline and per-stop timeout. The tool description reinforces general concepts like 'bounded' and 'writer stops' but does not add significant parameter-level meaning beyond what the 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 opens with a specific verb and resource: 'Build a bounded temporal write timeline for one debugger-visible variable or expression.' This directly states what the tool does and differentiates it from broader debugging or dump-analysis tools by focusing on a single variable/expression and a timeline of writes.

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

Usage Guidelines4/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: after differential or crash evidence identifies a suspicious value and live-target resume is safe. It also gives clear when-not-to-use conditions: crash dumps, unsafe-to-resume targets, and as root-cause proof. However, it does not name alternative sibling tools to use in those excluded cases, so it falls one step short of the strongest guidance.

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