# Debugging Chromium Python With The VSCode Debugger ## Before You Begin 1. Patch in [this CL](https://chromium-review.googlesource.com/c/chromium/src/+/2466896). 2. Run gclient sync. ## Via SSH SSH is useful if you’re modifying and debugging code on another device, such as the desktop sitting at your office desk. To do so: 1. Set up VSCode to work with normal development by following the instructions in the Remote Visual Studio Code section [here](https://docs.google.com/document/d/1ZlG8VQxudxvDs-EtpQvaPVcAPfSMdYlXr42s_487wLo/edit#bookmark=id.j10hyv6nlkws). 2. Open the Connection Dialog of Chrome’s SSH plugin: ![open dialog](images/vscode_python_connection_dialog.png) 3. Create a new connection and set the username, hostname, port, and SSH relay server options as you normally would. Then, set SSH arguments to "-2 -L 50371:localhost:50371" a. You can replace 50371 with a different value, so long as it's consistent with step 7b. 4. Open a connection, and set this window aside. 5. In VSCode, open the code you want to set a breakpoint in, and add the following: ``` import debugpy # Your code here! debugpy.listen(50371) print("Wait for attach...") debugpy.wait_for_attach() debugpy.brerakpoint() ``` Note: The port passed to debugpy.listen() should match the port configured in (3). 6. Click on the Debug tab 7. Click Run. A dialog will appear asking you to set up a debug configuration. Do so, and select “Remote Debug”. a. Leave the hostname as-is b. Set the port to 50371 8. Run your program on the remote machine. It should stop executing at “Wait for attach”. 9. Start the debugger in VSCode. It should attach! ## Locally Follow the same steps as above, but start from step 5.