# Debugging Panda Safety with Replay Drive + LLDB ## 1. Start the debugger in VS Code * Select **Replay drive + Safety LLDB**. * Enter the route or segment when prompted. ![alt text](assets/debug-safety-vscode-example.png) ## 2. Attach LLDB * When prompted, pick the running **`replay_drive` process**. * ⚠️ Attach quickly, or `replay_drive` will start consuming messages. > [!TIP] > Add a Python breakpoint at the start of `replay_drive.py` to pause execution and give yourself time to attach LLDB. ## 3. Set breakpoints in VS Code Breakpoints can be set directly in `libsafety.c` (or any C file). No extra LLDB commands are required — just place breakpoints in the editor. ## 4. Resume execution Once attached, you can step through both Python and C safety code as CAN logs are replayed. > [!NOTE] > * Use short routes for quicker iteration. > * Pause `replay_drive` early to avoid wasting log messages. ## Video View a demo of this workflow on the PR that added it: https://github.com/commaai/openpilot/pull/36055#issue-3352911578