{ "version": "0.2.0", "inputs": [ { "id": "python_process", "type": "pickString", "description": "Select the process to debug", "options": [ "selfdrive/controls/controlsd.py", "system/timed/timed.py", "tools/sim/run_bridge.py" ] }, { "id": "cpp_process", "type": "pickString", "description": "Select the process to debug", "options": [ "selfdrive/ui/ui" ] }, { "id": "args", "description": "Arguments to pass to the process", "type": "promptString" }, { "id": "replayArg", "type": "promptString", "description": "Enter route or segment to replay." } ], "configurations": [ { "name": "Python: openpilot Process", "type": "debugpy", "request": "launch", "program": "${input:python_process}", "console": "integratedTerminal", "justMyCode": true, "args": "${input:args}" }, { "name": "C++: openpilot Process", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/${input:cpp_process}", "cwd": "${workspaceFolder}" }, { "name": "Attach LLDB to Replay drive", "type": "lldb", "request": "attach", "pid": "${command:pickMyProcess}", "initCommands": [ "script import time; time.sleep(3)" ] }, { "name": "Replay drive", "type": "debugpy", "request": "launch", "program": "${workspaceFolder}/opendbc/safety/tests/safety_replay/replay_drive.py", "args": [ "${input:replayArg}" ], "console": "integratedTerminal", "justMyCode": false, "env": { "PYTHONPATH": "${workspaceFolder}" }, "subProcess": true, "stopOnEntry": false } ], "compounds": [ { "name": "Replay drive + Safety LLDB", "configurations": [ "Replay drive", "Attach LLDB to Replay drive" ] } ] }