deleteBreakpoint
Remove a debugging breakpoint in the VICE C64 emulator by specifying its ID to control program execution flow during assembly code analysis.
Instructions
Delete a breakpoint by its ID.
Use listBreakpoints to see current breakpoint IDs.
Related tools: setBreakpoint, listBreakpoints
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| breakpointId | Yes | Breakpoint ID from setBreakpoint |
Implementation Reference
- src/index.ts:619-630 (handler)MCP tool handler for 'deleteBreakpoint': extracts breakpointId from args, calls the underlying ViceClient.deleteBreakpoint method, formats success response with metadata or error response.async (args) => { try { await client.deleteBreakpoint(args.breakpointId); return formatResponse({ success: true, deletedId: args.breakpointId, message: `Breakpoint ${args.breakpointId} deleted`, }); } catch (error) { return formatError(error as ViceError); } }
- src/index.ts:615-617 (schema)Zod input schema for deleteBreakpoint tool requiring a single numeric 'breakpointId' parameter.inputSchema: z.object({ breakpointId: z.number().describe("Breakpoint ID from setBreakpoint"), }),
- src/index.ts:607-631 (registration)Registration of the MCP 'deleteBreakpoint' tool with McpServer, including description, input schema, and handler function.server.registerTool( "deleteBreakpoint", { description: `Delete a breakpoint by its ID. Use listBreakpoints to see current breakpoint IDs. Related tools: setBreakpoint, listBreakpoints`, inputSchema: z.object({ breakpointId: z.number().describe("Breakpoint ID from setBreakpoint"), }), }, async (args) => { try { await client.deleteBreakpoint(args.breakpointId); return formatResponse({ success: true, deletedId: args.breakpointId, message: `Breakpoint ${args.breakpointId} deleted`, }); } catch (error) { return formatError(error as ViceError); } } );
- src/protocol/client.ts:672-679 (helper)ViceClient helper method implementing breakpoint deletion by sending VICE CheckpointDelete command and updating local checkpoint tracking.async deleteBreakpoint(checkpointId: number): Promise<void> { const body = Buffer.alloc(4); body.writeUInt32LE(checkpointId, 0); await this.sendCommand(Command.CheckpointDelete, body); // Remove from local tracking this.checkpoints.delete(checkpointId); }