### Install Pointbreak CLI (Windows) Source: https://docs.withpointbreak.com/quickstart Installs the Pointbreak CLI using a PowerShell script. The script installs to `%LOCALAPPDATA%\Pointbreak\bin`. ```powershell irm https://withpointbreak.com/install.ps1 | iex ``` -------------------------------- ### Start Debugging with AI Assistant Source: https://docs.withpointbreak.com/installation.md Use this command to ask your AI assistant to set a breakpoint and start debugging. This is part of the easy setup for VS Code and Cursor users. ```text "Set a breakpoint on line 10 and start debugging" ``` -------------------------------- ### Rust Debugging Example Source: https://docs.withpointbreak.com/usage.md Example of setting a breakpoint at the initialization of a variable in Rust and stepping through a loop. ```rust fn calculate_sum(numbers: &[i32]) -> i32 { let mut sum = 0; // Breakpoint here for &num in numbers { sum += num; } sum } ``` -------------------------------- ### Install Pointbreak Extension via VSIX (Windsurf) Source: https://docs.withpointbreak.com/installation.md Use this command to manually install the Pointbreak IDE extension from a downloaded VSIX file into Windsurf. ```bash surf --install-extension path/to/pointbreak-*.vsix ``` -------------------------------- ### Start Debugging Source: https://docs.withpointbreak.com/usage.md Initiate the debugging session with pre-defined breakpoints. ```text "Start debugging with these breakpoints" ``` ```text "Run the debugger and pause at the first breakpoint" ``` -------------------------------- ### Check Pointbreak Installation (Linux/macOS) Source: https://docs.withpointbreak.com/reference/cli Verifies the Pointbreak binary is installed and accessible using the 'which' command, then checks its version. ```bash which pointbreak pointbreak --version ``` -------------------------------- ### Install Pointbreak MCP Server Source: https://docs.withpointbreak.com/reference/cli Installs the MCP server binary using a curl script. Alternatively, download manually from the provided link. ```bash curl -fsSL https://withpointbreak.com/install.sh | sh ``` -------------------------------- ### Verify Pointbreak CLI Installation Source: https://docs.withpointbreak.com/quickstart Checks if the Pointbreak CLI is installed correctly by displaying its version. This command should output the installed version number. ```bash pointbreak --version # Should output: pointbreak X.X.X ``` -------------------------------- ### Example Debugging Prompts Source: https://docs.withpointbreak.com/quickstart A collection of example prompts for interacting with AI debugging assistants, covering breakpoint setting, stepping through code, and inspecting variables. These demonstrate natural language interaction for debugging tasks. ```text "Set a breakpoint where the error occurs and start debugging" ``` ```text "Step through this loop and show me how the counter changes" ``` ```text "What's the call stack when we hit this breakpoint?" ``` ```text "Set a conditional breakpoint that only triggers when x > 10" ``` ```text "Step into this function and inspect all local variables" ``` -------------------------------- ### Install Pointbreak CLI (Windows) Source: https://docs.withpointbreak.com/ai-assistants.md Installs the Pointbreak CLI using PowerShell. Ensure your system's PATH is updated to include the binary location. ```powershell # Windows (PowerShell) irm https://withpointbreak.com/install.ps1 | iex ``` -------------------------------- ### Install Pointbreak Extension via VSIX (Cursor) Source: https://docs.withpointbreak.com/installation.md Use this command to manually install the Pointbreak IDE extension from a downloaded VSIX file into Cursor. ```bash cursor --install-extension path/to/pointbreak-*.vsix ``` -------------------------------- ### Example GitHub Copilot Debugging Prompts Source: https://docs.withpointbreak.com/ai-assistants.md Sample natural language prompts for GitHub Copilot to initiate debugging sessions. ```plaintext "Set a breakpoint at line 42 and start debugging" "Step through this function and show me variable values" "Why is this returning null?" ``` -------------------------------- ### Iterating Debugging Example Source: https://docs.withpointbreak.com/usage.md Demonstrates an iterative debugging process where the user provides sequential commands to the AI. ```text User: "Set a breakpoint at line 15" AI: [Sets breakpoint and starts debugging] User: "Now step into the function call" AI: [Steps in] User: "What's the value of result?" AI: [Shows value] ``` -------------------------------- ### Verify Pointbreak Installation Source: https://docs.withpointbreak.com/reference/cli Checks if Pointbreak is installed and accessible in the system's PATH. ```bash pointbreak --version ``` -------------------------------- ### Verify Pointbreak Installation and PATH Source: https://docs.withpointbreak.com/reference/mcp-configuration Check if the Pointbreak binary is installed and accessible in your system's PATH. This is crucial for the AI assistant to find and execute the Pointbreak client. ```bash # Check binary exists pointbreak --version # macOS / Linux - check PATH echo $PATH | grep -q ".local/bin" && echo "✓ Path OK" || echo "✗ Add ~/.local/bin to PATH" # Windows - check PATH $env:PATH -split ';' | Select-String "Pointbreak" ``` -------------------------------- ### Debugging Prompt Example Source: https://docs.withpointbreak.com/quickstart An example prompt for an AI assistant to set a breakpoint and inspect a variable during debugging. Adjust the line number and filename as needed for your specific code. ```text "Set a breakpoint on line 3 and start debugging test.py. Show me the value of 'numbers' when we hit the breakpoint." ``` -------------------------------- ### Finding a Bug Example Source: https://docs.withpointbreak.com/usage.md Illustrates how to use the debugger to find a bug by stepping through a function and inspecting values. ```text User: "This function returns the wrong value. Help me find the bug." AI: I'll set a breakpoint at the function entry and step through: 1. Setting breakpoint at line 15... 2. Starting debugger... 3. [Paused at line 15] 4. Current value of input: [1, 2, 3] 5. Stepping through... 6. Found the issue: You're dividing by zero when the list is empty. ``` -------------------------------- ### Python Debugging Example Source: https://docs.withpointbreak.com/usage.md Example of setting a breakpoint within a Python loop to inspect variable values during iteration. ```python def process_data(items): result = [] for item in items: # Breakpoint here processed = item * 2 result.append(processed) return result ``` -------------------------------- ### Rust Launch Configuration Source: https://docs.withpointbreak.com/troubleshooting.md Example launch.json configuration for debugging Rust programs. Verify the program path points to your compiled binary in .vscode/launch.json. ```json { "version": "0.2.0", "configurations": [ { "name": "Debug", "type": "lldb", "request": "launch", "program": "${workspaceFolder}/target/debug/your-program" } ] } ``` -------------------------------- ### Install Pointbreak Extension via VSIX (VS Code) Source: https://docs.withpointbreak.com/installation.md Use this command to manually install the Pointbreak IDE extension from a downloaded VSIX file into VS Code. ```bash code --install-extension path/to/pointbreak-*.vsix ``` -------------------------------- ### Install Pointbreak CLI (macOS/Linux) Source: https://docs.withpointbreak.com/ai-assistants.md Installs the Pointbreak CLI using a curl script. Ensure your system's PATH is updated to include the binary location. ```bash # macOS / Linux curl -fsSL https://withpointbreak.com/install.sh | sh ``` -------------------------------- ### Start Pointbreak MCP Server Source: https://docs.withpointbreak.com/reference/cli Starts the MCP server and waits for connections over stdio. Typically invoked automatically by AI assistants. ```bash pointbreak ``` -------------------------------- ### Python Launch Configuration Source: https://docs.withpointbreak.com/troubleshooting.md Example launch.json configuration for debugging Python files. Ensure this configuration is present in your .vscode/launch.json file. ```json { "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}" } ] } ``` -------------------------------- ### JavaScript Debugging Example Source: https://docs.withpointbreak.com/usage.md Example of setting a breakpoint in a JavaScript function to inspect a variable before making an API call. ```javascript function fetchUserData(userId) { const response = fetch(`/api/users/${userId}`); // Breakpoint here return response.json(); } ``` -------------------------------- ### Install Pointbreak Extension via VSIX (VS Code Insiders) Source: https://docs.withpointbreak.com/installation.md Use this command to manually install the Pointbreak IDE extension from a downloaded VSIX file into VS Code Insiders. ```bash code-insiders --install-extension path/to/pointbreak-*.vsix ``` -------------------------------- ### Example Cursor Debugging Prompts Source: https://docs.withpointbreak.com/ai-assistants.md Sample natural language prompts for Cursor's AI to initiate debugging sessions. ```plaintext "Debug this test and tell me why it fails" "Set a breakpoint and inspect the state" ``` -------------------------------- ### Understanding Complex Logic Example Source: https://docs.withpointbreak.com/usage.md Demonstrates using the debugger to trace the execution of a recursive function. ```text User: "How does this recursive function work?" AI: Let me step through a few iterations: 1. Setting breakpoint at recursion entry... 2. Starting with input: 5 3. [First call] n=5 4. [Second call] n=4 5. [Third call] n=3 ... ``` -------------------------------- ### Example AI Debugging Response Source: https://docs.withpointbreak.com/quickstart An example of how an AI assistant might respond after successfully debugging code, indicating the breakpoint was hit and showing the value of a variable. It may also offer further assistance. ```text I've set a breakpoint at line 3 and started debugging. The execution has paused at the breakpoint. The value of 'numbers' is: [1, 2, 3, 4, 5] Would you like me to step through the rest of the function? ``` -------------------------------- ### Session Lifecycle Steps Source: https://docs.withpointbreak.com/architecture.md Outlines the typical sequence of events for managing a debugging session, from the IDE starting to resources being cleaned up. ```text 1. IDE starts (extension activates) 2. User asks AI to debug 3. MCP server connects to extension 4. AI requests breakpoint set 5. AI requests debug session start 6. Extension launches debugger via VS Code API 7. Program pauses at breakpoint 8. AI inspects state, steps through code 9. Debug session ends 10. Resources cleaned up ``` -------------------------------- ### Example Debugging Interaction Source: https://docs.withpointbreak.com/introduction Demonstrates a natural language interaction for debugging a specific issue where a variable is unexpectedly empty. ```text **User:** "Debug this test and tell me why user_input is empty" **AI:** Setting breakpoint at line 15... Starting debugger... _[Breakpoint appears in VS Code]_ _[Debug session starts]_ _[Code pauses at breakpoint]_ Found it! You're reading `user_input` before prompting the user. The input happens on line 18, but you're using it on line 15. Move the prompt above the read. ``` -------------------------------- ### Get Step In Targets Source: https://docs.withpointbreak.com/reference/mcp-tools Retrieves a list of functions available to step into, if the adapter supports this feature. ```javascript ide_get_step_in_targets() ``` -------------------------------- ### ide_start_debugging Source: https://docs.withpointbreak.com/reference/mcp-tools Starts a new debug session with your IDE. It can optionally set initial breakpoints and specify an IDE registration ID. ```APIDOC ## ide_start_debugging ### Description Start a new debug session with your IDE. ### Parameters #### Path Parameters * `configuration` (object) - Required - Debug configuration object (follows VS Code launch.json format) * `breakpoints` (array) - Optional - Array of breakpoints to set before starting * `registrationId` (string) - Optional - IDE registration ID (auto-detected by default) ### Request Example ```json { "configuration": { "type": "python", "request": "launch", "program": "${file}", "stopOnEntry": false }, "breakpoints": [ { "source": {"uri": "file:///path/to/file.py"}, "breakpoints": [{"line": 42}] } ] } ``` ``` -------------------------------- ### Start Debugging Session Source: https://docs.withpointbreak.com/reference/mcp-tools Initiates a new debug session with specified configurations and optional breakpoints. Follows VS Code launch.json format. ```json { "configuration": { "type": "python", "request": "launch", "program": "${file}", "stopOnEntry": false }, "breakpoints": [{ "source": {"uri": "file:///path/to/file.py"}, "breakpoints": [{"line": 42}] }] } ``` -------------------------------- ### Enable Auto-Start MCP Server Source: https://docs.withpointbreak.com/reference/ide-settings Configure whether the MCP server automatically starts when VS Code opens. Set to `false` to manage the server lifecycle manually. ```json { "pointbreak.autoStartMcpServer": true } ``` -------------------------------- ### Get Capabilities Source: https://docs.withpointbreak.com/reference/mcp-tools Queries the debug adapter for supported actions and features. Use when unsure about available debugging capabilities. ```javascript ide_get_capabilities() ``` -------------------------------- ### Tracking Variable Changes Example Source: https://docs.withpointbreak.com/usage.md Shows how to set a conditional breakpoint to track when a variable's value meets specific criteria. ```text User: "When does this variable change?" AI: I'll set a conditional breakpoint: "Set breakpoint on line 30 with condition: count > 10" ``` -------------------------------- ### Explicit Debugging Instructions Source: https://docs.withpointbreak.com/ai-assistants.md Provides examples of specific instructions for AI assistants to use the debugger effectively, avoiding console.log. ```plaintext "Use the debugger to investigate this, don't add console.log" "Set a breakpoint and step through" ``` -------------------------------- ### Get Exception Breakpoints Source: https://docs.withpointbreak.com/reference/mcp-tools Retrieves the current exception breakpoint configuration. ```javascript ide_get_exception_breakpoints() ``` -------------------------------- ### Verify Pointbreak Binary and Version Source: https://docs.withpointbreak.com/reference/mcp-configuration Confirms that the Pointbreak binary is installed and executable by checking its version. This is a fundamental step in testing your MCP configuration. ```bash # Check binary exists and is executable pointbreak --version # Should output version number like: # pointbreak 0.1.0 ``` -------------------------------- ### Uninstall Pointbreak (Linux/macOS) Source: https://docs.withpointbreak.com/reference/cli Removes the Pointbreak binary from the default installation directory. ```bash rm ~/.local/bin/pointbreak ``` -------------------------------- ### Get Data Breakpoints Source: https://docs.withpointbreak.com/reference/mcp-tools Lists all currently active data breakpoints. ```javascript ide_get_data_breakpoints() ``` -------------------------------- ### Uninstall Pointbreak (Windows) Source: https://docs.withpointbreak.com/reference/cli Removes the Pointbreak executable from the default installation directory using PowerShell. ```powershell Remove-Item $env:USERPROFILE\.local\bin\pointbreak.exe ``` -------------------------------- ### Top-Down Debugging Strategy Source: https://docs.withpointbreak.com/usage.md A debugging strategy that involves starting at the function entry, stepping through line by line, and inspecting variables. ```text 1. Set breakpoint at function entry 2. Step through line by line 3. Inspect variables at each step 4. Find where behavior diverges from expected ``` -------------------------------- ### Get Console Output Source: https://docs.withpointbreak.com/reference/mcp-tools Fetches buffered console output for a debug session. Requires `sessionId` and optionally accepts a `category` filter. ```javascript ide_get_console({ sessionId: "session1", category: "stdout" }) ``` -------------------------------- ### Add Pointbreak CLI to PATH (macOS/Linux) Source: https://docs.withpointbreak.com/installation.md If the Pointbreak CLI is installed but not recognized, add its directory to your PATH environment variable. Reload your shell configuration after making changes. ```bash export PATH="$HOME/.local/bin:$PATH" ``` -------------------------------- ### Display Pointbreak Help Source: https://docs.withpointbreak.com/reference/cli Shows all available command-line options for the Pointbreak CLI. ```bash pointbreak --help ``` -------------------------------- ### Bottom-Up Debugging Strategy Source: https://docs.withpointbreak.com/usage.md A debugging strategy that starts at the point of error, checks the stack trace, and sets breakpoints up the call chain. ```text 1. Set breakpoint where error occurs 2. Check stack trace 3. Set breakpoints up the call chain 4. Find where bad data originates ``` -------------------------------- ### Get All Local Variables Source: https://docs.withpointbreak.com/reference/mcp-tools Retrieves all local variables from the current debug state. Automatically searches scopes and expands nested objects. ```json { "sessionId": "abc-123" } ``` -------------------------------- ### Workspace-Specific Auto-Start Setting Source: https://docs.withpointbreak.com/reference/ide-settings Override the global `pointbreak.autoStartMcpServer` setting for a specific workspace by defining it in `.vscode/settings.json`. ```json { "pointbreak.autoStartMcpServer": false } ``` -------------------------------- ### Discover Connection Source: https://docs.withpointbreak.com/reference/mcp-tools Discovers the parent IDE. Usually not needed as it's auto-detected. ```javascript ide_discover_connection() ``` -------------------------------- ### Get Watch Expressions Source: https://docs.withpointbreak.com/reference/mcp-tools Re-evaluates and lists all stored watch expressions. ```javascript ide_get_watches() ``` -------------------------------- ### Remove Pointbreak CLI (Windows) Source: https://docs.withpointbreak.com/installation.md Manually remove the Pointbreak CLI installation directory on Windows. ```powershell Remove-Item "$env:LOCALAPPDATA\Pointbreak" -Recurse ``` -------------------------------- ### Make Binary Executable on Linux Source: https://docs.withpointbreak.com/troubleshooting.md Use this command to grant execute permissions to the Pointbreak binary on Linux systems if you encounter permission denied errors. ```bash # Make binary executable chmod +x /path/to/pointbreak-binary ``` -------------------------------- ### Get Data Breakpoint Info Source: https://docs.withpointbreak.com/reference/mcp-tools Checks if a variable supports data breakpoints. Requires `variablesReference` and `name`. ```javascript ide_get_data_breakpoint_info({ variablesReference: 1, name: "myVar" }) ``` -------------------------------- ### Display Pointbreak Configuration File Source: https://docs.withpointbreak.com/reference/mcp-configuration Shows the content of the MCP configuration file. Ensure this file contains valid JSON and the correct Pointbreak entry. ```bash # macOS / Linux cat ~/.config/claude/claude_desktop_config.json # Windows (PowerShell) Get-Content "$env:APPDATA\Claude\claude_desktop_config.json" # Should show valid JSON with pointbreak entry ``` -------------------------------- ### Generic MCP Client Configuration Format Source: https://docs.withpointbreak.com/reference/mcp-configuration A standard JSON format for configuring MCP servers in various clients. Includes command, arguments, and environment variables. ```json { "mcpServers": { "pointbreak": { "command": "/path/to/pointbreak-binary", "args": ["mcp", "serve"], "env": {} } } } ``` -------------------------------- ### List Registrations Source: https://docs.withpointbreak.com/reference/mcp-tools Lists all available IDE registrations. Use when running outside an IDE terminal or when multiple IDEs are open. ```javascript ide_list_registrations() ``` -------------------------------- ### ide_get_step_in_targets Source: https://docs.withpointbreak.com/reference/mcp-tools Retrieves a list of functions that can be stepped into, if the adapter supports this feature. ```APIDOC ## ide_get_step_in_targets ### Description Get list of functions available to step into (if adapter supports it). ``` -------------------------------- ### Windsurf MCP Server Configuration Source: https://docs.withpointbreak.com/reference/mcp-configuration Adds Pointbreak as an MCP server to Windsurf's settings.json. Requires specifying the full path to the Pointbreak binary. ```json { "mcp.servers": { "pointbreak": { "command": "/Users/username/.local/bin/pointbreak", "args": ["mcp", "serve"] } } } ``` -------------------------------- ### Configure Pointbreak for Windsurf Source: https://docs.withpointbreak.com/reference/cli Adds Pointbreak MCP server configuration to Windsurf settings. ```json { "mcp.servers": { "pointbreak": { "command": "/Users/yourusername/.local/bin/pointbreak", "args": ["mcp", "serve"] } } } ``` -------------------------------- ### List Configured MCP Servers for Claude Code Source: https://docs.withpointbreak.com/reference/mcp-configuration Lists all currently configured MCP servers within Claude Code. ```bash claude mcp list ``` -------------------------------- ### ide_discover_connection Source: https://docs.withpointbreak.com/reference/mcp-tools Discovers the parent IDE. This is usually not needed as it's auto-detected. ```APIDOC ## ide_discover_connection ### Description Discover parent IDE (usually not needed - auto-detected). ``` -------------------------------- ### Get Specific Variables Source: https://docs.withpointbreak.com/reference/mcp-tools Retrieves values for specified variables from the current debug state. Automatically searches scopes and expands nested objects. ```json { "sessionId": "abc-123", "variableNames": ["result", "error", "config"] } ``` -------------------------------- ### ide_get_capabilities Source: https://docs.withpointbreak.com/reference/mcp-tools Queries the debug adapter to determine supported actions and features. Use this when unsure about the availability of stepping or breakpoint functionalities. ```APIDOC ## ide_get_capabilities ### Description Query what actions/features are supported by the debug adapter. ### Use when Unsure if stepping/breakpoints/data breakpoints are available. ``` -------------------------------- ### Add Pointbreak MCP Server to Codex Source: https://docs.withpointbreak.com/ai-assistants.md Registers Pointbreak as an MCP server within Codex. This command assumes the Pointbreak CLI is installed and available in your PATH. ```bash codex mcp add pointbreak -- pointbreak mcp serve ``` -------------------------------- ### ide_step_in Source: https://docs.withpointbreak.com/reference/mcp-tools Steps into the next function call, allowing for tracing execution within functions. ```APIDOC ## ide_step_in ### Description Step into the next function call to trace execution inside functions. ### Use this to: Understand what happens inside a function instead of adding prints at function entry/exit. ``` -------------------------------- ### Check System Architecture (Windows) Source: https://docs.withpointbreak.com/installation.md Determine if your Windows system uses ARM64 or x64 (AMD64) architecture. ```powershell echo $env:PROCESSOR_ARCHITECTURE ``` -------------------------------- ### Add Pointbreak MCP Server to Claude Code Source: https://docs.withpointbreak.com/ai-assistants.md Registers Pointbreak as an MCP server within Claude Code, configuring it to use stdio transport. This command assumes the Pointbreak CLI is installed and available in your PATH. ```bash claude mcp add --transport stdio pointbreak -- pointbreak mcp serve ``` -------------------------------- ### Set File Permissions for Pointbreak Binary Source: https://docs.withpointbreak.com/reference/ide-settings On Linux or macOS, make the Pointbreak binary executable. This is necessary for the system to run the command. ```bash chmod +x ~/.local/bin/pointbreak ``` -------------------------------- ### ide_list_registrations Source: https://docs.withpointbreak.com/reference/mcp-tools Lists all available IDE registrations. Useful when running outside an IDE terminal or when multiple IDEs are open. ```APIDOC ## ide_list_registrations ### Description List all available IDE registrations. ### Use when Running outside IDE terminal or multiple IDEs are open. ``` -------------------------------- ### Setting a Breakpoint Data Flow Source: https://docs.withpointbreak.com/architecture.md Illustrates the sequence of events when an AI assistant requests to set a breakpoint, from the AI's command to the Debug Adapter receiving it. ```text 1. AI: "Set breakpoint on line 42" ↓ 2. MCP Server: Receives setBreakpoint command ↓ 3. VS Code Extension: Calls VS Code Debug API ↓ 4. VS Code: Updates breakpoint in UI (red dot appears) ↓ 5. Debug Adapter: Receives breakpoint when session starts ``` -------------------------------- ### Step Through Code Source: https://docs.withpointbreak.com/usage.md Control the execution flow by stepping over, into, or out of functions, or continuing to the next breakpoint. ```text "Step over the next line" ``` ```text "Step into this function call" ``` ```text "Step out of this function" ``` ```text "Continue until the next breakpoint" ``` -------------------------------- ### Configure Pointbreak for Claude Source: https://docs.withpointbreak.com/reference/cli Adds Pointbreak MCP server configuration to Claude's desktop configuration file. ```json { "mcpServers": { "pointbreak": { "command": "/Users/yourusername/.local/bin/pointbreak", "args": ["mcp", "serve"] } } } ``` -------------------------------- ### Expand Binary Paths to Absolute Paths Source: https://docs.withpointbreak.com/reference/mcp-configuration These commands help you find the absolute path to the Pointbreak binary on macOS, Linux, and Windows systems. This is useful for configuring the MCP client when the binary is not in your system's PATH. ```bash # macOS / Linux echo ~/.local/bin/pointbreak # Example: /Users/kevin/.local/bin/pointbreak ``` ```powershell # Windows (PowerShell) [System.Environment]::ExpandEnvironmentVariables("%LOCALAPPDATA%\Pointbreak\bin\pointbreak.exe") # Example: C:\Users\Kevin\AppData\Local\Pointbreak\bin\pointbreak.exe ``` -------------------------------- ### Mermaid Diagram: Pointbreak Architecture Source: https://docs.withpointbreak.com/introduction Illustrates the communication flow between the AI Assistant, Pointbreak MCP Server, and the IDE Debugger. ```mermaid graph LR A[AI Assistant] -->|MCP Protocol| B[Pointbreak
MCP Server] B -->|IDE Extension| C[IDE Debugger] ``` -------------------------------- ### Check System Architecture (macOS) Source: https://docs.withpointbreak.com/installation.md Determine if your macOS system uses Apple Silicon (ARM64) or Intel (x86_64) architecture. ```bash uname -m ``` -------------------------------- ### Mermaid Diagram of Pointbreak System Architecture Source: https://docs.withpointbreak.com/architecture.md Visualizes the interaction between the AI Assistant, Pointbreak MCP Server, VS Code Extension, VS Code Debugger, Debug Adapter, and the program being debugged. ```mermaid graph TD A["AI Assistant
(MCP Client)

Claude Code, Cursor, etc."] B["Pointbreak
MCP Server

Rust binary"] C["Pointbreak
VS Code Extension

TypeScript"] D["VS Code
Debugger"] E["Debug Adapter

CodeLLDB, debugpy, etc."] F["Your Program

Being debugged"] A -->|"MCP Protocol
(stdio)"| B B -->|"WebSocket"| C C -->|"VS Code Debug API"| D D -->|"Debug Adapter Protocol (DAP)"| E E -->|"Controls execution"| F ``` -------------------------------- ### ide_step_out Source: https://docs.withpointbreak.com/reference/mcp-tools Resumes execution until the current function returns, then pauses. ```APIDOC ## ide_step_out ### Description Run until the current function returns. ``` -------------------------------- ### Set Breakpoints Source: https://docs.withpointbreak.com/usage.md Use natural language to instruct the AI to set breakpoints on specific lines or function entries. ```text "Set a breakpoint on line 42 of main.py" ``` ```text "Add a breakpoint at the start of calculate_total()" ``` -------------------------------- ### ide_step_over Source: https://docs.withpointbreak.com/reference/mcp-tools Executes the current line of code and pauses on the next line, without stepping into any function calls. ```APIDOC ## ide_step_over ### Description Execute the current line and pause on the next line, without entering function calls. ### Use this to: Follow execution line-by-line instead of adding print statements. ``` -------------------------------- ### List Threads Source: https://docs.withpointbreak.com/reference/mcp-tools Lists all threads in a debug session. Use with `ide_get_stack_trace`. ```javascript ide_get_threads() ``` -------------------------------- ### Common Pattern: Debug Variable Issues Source: https://docs.withpointbreak.com/reference/mcp-tools Steps to debug variable issues: set breakpoints, continue to breakpoint, and inspect variables. ```javascript 1. ide_set_breakpoints - Pause where variable is used 2. ide_continue_session - Run to breakpoint 3. ide_get_variables({variableNames: ["result", "error"]}) ``` -------------------------------- ### Add Pointbreak with Custom Path Source: https://docs.withpointbreak.com/ai-assistants.md Adds Pointbreak as an MCP server, specifying a custom path to the Pointbreak binary. Use this if the binary is not in your system's PATH. ```bash claude mcp add --transport stdio pointbreak -- /full/path/to/pointbreak mcp serve ``` -------------------------------- ### ide_get_console Source: https://docs.withpointbreak.com/reference/mcp-tools Fetches buffered console output for a debug session. Allows filtering by category such as 'stdout', 'stderr', 'console', or 'telemetry'. ```APIDOC ## ide_get_console ### Description Fetch buffered console output for a debug session. ### Parameters #### Request Body - **sessionId** (string) - Required - Debug session - **category** (string) - Optional - Filter by 'stdout', 'stderr', 'console', or 'telemetry' ``` -------------------------------- ### ide_restart_frame Source: https://docs.withpointbreak.com/reference/mcp-tools Restarts execution from a specific stack frame, provided the adapter supports this functionality. ```APIDOC ## ide_restart_frame ### Description Restart execution from a specific stack frame (if adapter supports it). ``` -------------------------------- ### Configure Pointbreak for Codex Source: https://docs.withpointbreak.com/reference/cli Adds Pointbreak MCP server configuration to Codex's MCP configuration. ```json { "servers": { "pointbreak": { "command": "/Users/yourusername/.local/bin/pointbreak", "args": ["mcp", "serve"] } } } ``` -------------------------------- ### Control IDE Auto-Connect Source: https://docs.withpointbreak.com/reference/cli Sets the POINTBREAK_IDE_AUTO_CONNECT environment variable to false to disable automatic IDE discovery. The server will then require explicit IDE registration. ```bash POINTBREAK_IDE_AUTO_CONNECT=false pointbreak ``` -------------------------------- ### Configure MCP Server Port (Auto) Source: https://docs.withpointbreak.com/reference/ide-settings Set the WebSocket port for MCP server communication. Defaults to `auto` for automatic assignment. ```json { "pointbreak.mcpServerPort": "auto" } ``` -------------------------------- ### Inspect State Source: https://docs.withpointbreak.com/usage.md When paused, ask the AI to display variable values, local variables, or the stack trace. ```text "Show me the value of user_input" ``` ```text "What are all the local variables?" ``` ```text "Display the stack trace" ``` -------------------------------- ### Configure MCP Server Port (Specific) Source: https://docs.withpointbreak.com/reference/ide-settings Specify a fixed port number for the MCP server if automatic assignment causes conflicts. ```json { "pointbreak.mcpServerPort": 9876 } ``` -------------------------------- ### Configure Goose MCP Server Source: https://docs.withpointbreak.com/quickstart Adds the Pointbreak MCP server configuration to Goose. This involves specifying the command and arguments for the Pointbreak server. ```json { "mcpServers": { "pointbreak": { "command": "pointbreak", "args": ["mcp", "serve"] } } } ``` -------------------------------- ### Correct Windows Path in JSON Source: https://docs.withpointbreak.com/reference/mcp-configuration When specifying Windows paths in JSON configuration files, ensure that backslashes are properly escaped. Use double backslashes (\\) to represent a single literal backslash. ```json ✗ "command": "C:\Users\name\...\pointbreak.exe" // Wrong - unescaped backslashes ✓ "command": "C:\\Users\\name\\...\\pointbreak.exe" // Correct ``` -------------------------------- ### ide_send_custom_request Source: https://docs.withpointbreak.com/reference/mcp-tools Executes a raw Debug Adapter Protocol (DAP) command. This is an escape hatch for power users when a capability is not covered by higher-level tools. ```APIDOC ## ide_send_custom_request ### Description Execute a raw Debug Adapter Protocol (DAP) command. ### Use when A capability is not covered by higher-level tools (power-user escape hatch). ``` -------------------------------- ### Restart Frame Source: https://docs.withpointbreak.com/reference/mcp-tools Restarts execution from a specific stack frame, if the adapter supports this feature. ```javascript ide_restart_frame() ``` -------------------------------- ### ide_get_exception_breakpoints Source: https://docs.withpointbreak.com/reference/mcp-tools Retrieves the current configuration for exception breakpoints. ```APIDOC ## ide_get_exception_breakpoints ### Description View current exception breakpoint configuration. ``` -------------------------------- ### Send Custom DAP Request Source: https://docs.withpointbreak.com/reference/mcp-tools Executes a raw Debug Adapter Protocol (DAP) command. Use as a power-user escape hatch when a capability is not covered by higher-level tools. ```javascript ide_send_custom_request({ command: "someDapCommand", arguments: { /* ... */ } }) ``` -------------------------------- ### Calculate Average in Go Source: https://docs.withpointbreak.com/quickstart A Go program that defines a function to compute the average of a slice of integers and prints it formatted to two decimal places. Handles potential division by zero if the slice is empty. ```go package main import "fmt" func calculateAverage(numbers []int) float64 { total := 0 for _, n := range numbers { total += n } return float64(total) / float64(len(numbers)) } func main() { result := calculateAverage([]int{1, 2, 3, 4, 5}) fmt.Printf("Average: %.2f\n", result) } ``` -------------------------------- ### Explicitly Instruct AI to Use Debugger Source: https://docs.withpointbreak.com/faq.md When interacting with an AI assistant, explicitly instruct it to use the debugger for investigation. This ensures the AI utilizes available debugging tools like setting breakpoints and stepping through code. ```plaintext "Use the debugger to investigate this. Set breakpoints and step through." ``` -------------------------------- ### Remind AI to Use Breakpoints Source: https://docs.withpointbreak.com/troubleshooting.md Use this phrase to explicitly instruct the AI to use the debugger with breakpoints instead of adding console.log statements. ```text "Don't add console.log - use breakpoints and the debugger instead" ``` -------------------------------- ### ide_get_scopes Source: https://docs.withpointbreak.com/reference/mcp-tools Fetches the available variable scopes (e.g., 'Locals', 'Globals') for a given stack frame. ```APIDOC ## ide_get_scopes ### Description Get variable scopes for a stack frame (e.g., 'Locals', 'Globals'). ### Parameters #### Path Parameters * `frameId` (string) - Required - Frame from stack trace * `sessionId` (string) - Optional - Auto-detected ``` -------------------------------- ### ide_get_stack_trace Source: https://docs.withpointbreak.com/reference/mcp-tools Retrieves the complete call stack, showing the sequence of function calls that led to the current execution point. ```APIDOC ## ide_get_stack_trace ### Description Get the complete call stack showing how execution reached the current point. ### Parameters #### Path Parameters * `threadId` (string) - Required - Thread to inspect * `sessionId` (string) - Optional - Auto-detected ### Returns Array of stack frames ordered from top (current location) to bottom (entry point). ### Use this to: Understand call flow instead of adding prints in every function. ``` -------------------------------- ### ide_get_threads Source: https://docs.withpointbreak.com/reference/mcp-tools Lists all threads in a debug session, returning their IDs and names. This is useful in conjunction with `ide_get_stack_trace`. ```APIDOC ## ide_get_threads ### Description List all threads in a debug session. ### Returns Thread IDs and names. Use with `ide_get_stack_trace`. ``` -------------------------------- ### ide_get_watches Source: https://docs.withpointbreak.com/reference/mcp-tools Re-evaluates and lists all currently stored watch expressions. ```APIDOC ## ide_get_watches ### Description Re-evaluate and list all stored watch expressions. ``` -------------------------------- ### Configure Claude Code MCP Server Source: https://docs.withpointbreak.com/quickstart Registers the Pointbreak MCP server with Claude Code using stdio transport. Verify the registration by listing available MCP servers. ```bash claude mcp add --transport stdio pointbreak -- pointbreak mcp serve ``` ```bash claude mcp list # Should show: pointbreak ``` -------------------------------- ### ide_continue_session Source: https://docs.withpointbreak.com/reference/mcp-tools Resumes the execution of a paused debug session. It can auto-detect the session and IDE registration. ```APIDOC ## ide_continue_session ### Description Resume execution after hitting a breakpoint. ### Parameters #### Path Parameters * `sessionId` (string) - Optional - Auto-detected from paused session * `registrationId` (string) - Optional - Auto-detected ``` -------------------------------- ### Inspecting Variables Data Flow Source: https://docs.withpointbreak.com/architecture.md Details the process of an AI assistant requesting to inspect a variable's value, showing the request's path through the system and back to the AI. ```text 1. AI: "Show me the value of user_input" ↓ 2. MCP Server: Sends evaluate request ↓ 3. VS Code Extension: Calls Debug API evaluate() ↓ 4. Debug Adapter: Evaluates in debugged program context ↓ 5. Result flows back through the chain ↓ 6. AI: Displays "user_input = 'Hello'" ``` -------------------------------- ### Common Pattern: Trace Value Origin Source: https://docs.withpointbreak.com/reference/mcp-tools Steps to trace the origin of a value: set breakpoints where the value is wrong, inspect the call stack, and step through callers. ```javascript 1. ide_set_breakpoints where value is wrong 2. ide_get_stack_trace - See call chain 3. ide_step_out then ide_step_over in callers ```