listBreakpoints
View all active debugging breakpoints in a Commodore 64 emulation session, displaying IDs, addresses, and status for monitoring program execution.
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:633-657 (handler)MCP tool handler for listBreakpoints: calls client.listBreakpoints(), formats the response with breakpoint details including ID, address, enabled/temporary status, and provides hints.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:622-658 (registration)Registration of the listBreakpoints MCP tool using server.registerTool, including description (no inputSchema).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:640-642 (helper)ViceClient method that returns the list of execution breakpoints (type 'exec') from local checkpoint tracking map.listBreakpoints(): CheckpointInfo[] { return Array.from(this.checkpoints.values()).filter((cp) => cp.type === "exec"); }
- src/protocol/client.ts:24-31 (schema)Type definition for CheckpointInfo used by listBreakpoints() to structure breakpoint data.export interface CheckpointInfo { id: number; startAddress: number; endAddress: number; enabled: boolean; temporary: boolean; type: CheckpointType; }