listBreakpoints
Display all active debugging breakpoints in the VICE C64 emulator session, showing IDs, addresses, and status for program analysis.
Instructions
List all active breakpoints.
Shows breakpoint IDs, addresses, and status for all breakpoints set in this session.
Note: This tracks breakpoints set through this MCP session. Breakpoints set through VICE's built-in monitor may not appear.
Related tools: setBreakpoint, deleteBreakpoint
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:645-669 (handler)MCP tool handler for 'listBreakpoints': calls client.listBreakpoints(), handles empty list case, formats breakpoints data with addresses, status, and hints into MCP response structure.async () => { const breakpoints = client.listBreakpoints(); if (breakpoints.length === 0) { return formatResponse({ count: 0, breakpoints: [], hint: "No breakpoints set. Use setBreakpoint() to add one.", }); } return formatResponse({ count: breakpoints.length, breakpoints: breakpoints.map((bp) => ({ id: bp.id, address: { value: bp.startAddress, hex: `$${bp.startAddress.toString(16).padStart(4, "0")}`, }, enabled: bp.enabled, temporary: bp.temporary, })), hint: `${breakpoints.length} breakpoint(s) active. Use deleteBreakpoint(id) to remove.`, }); }
- src/index.ts:634-670 (registration)Registration of the 'listBreakpoints' MCP tool with server.registerTool, providing tool name, description, and handler function.server.registerTool( "listBreakpoints", { description: `List all active breakpoints. Shows breakpoint IDs, addresses, and status for all breakpoints set in this session. Note: This tracks breakpoints set through this MCP session. Breakpoints set through VICE's built-in monitor may not appear. Related tools: setBreakpoint, deleteBreakpoint`, }, async () => { const breakpoints = client.listBreakpoints(); if (breakpoints.length === 0) { return formatResponse({ count: 0, breakpoints: [], hint: "No breakpoints set. Use setBreakpoint() to add one.", }); } return formatResponse({ count: breakpoints.length, breakpoints: breakpoints.map((bp) => ({ id: bp.id, address: { value: bp.startAddress, hex: `$${bp.startAddress.toString(16).padStart(4, "0")}`, }, enabled: bp.enabled, temporary: bp.temporary, })), hint: `${breakpoints.length} breakpoint(s) active. Use deleteBreakpoint(id) to remove.`, }); } );
- src/protocol/client.ts:681-683 (helper)ViceClient method that returns only execution-type checkpoints (breakpoints) from the local checkpoints Map, used by the MCP tool handler.listBreakpoints(): CheckpointInfo[] { return Array.from(this.checkpoints.values()).filter((cp) => cp.type === "exec"); }
- src/protocol/client.ts:24-35 (schema)Type definitions for CheckpointInfo (and alias BreakpointInfo) used to type the breakpoints data returned by listBreakpoints.export interface CheckpointInfo { id: number; startAddress: number; endAddress: number; enabled: boolean; temporary: boolean; type: CheckpointType; } // Keep for backwards compatibility export type BreakpointInfo = CheckpointInfo;