# Debugging Galaxy ## Debugging Galaxy in VS Code The following instructions assume that you have cloned your Galaxy fork into the `~/galaxy` directory and have created a VS Code workspace per instructions [here](./debugging_tests.md). Additionally, we assume you have configured Galaxy and are using `~/galaxy/config/galaxy.yml` as your galaxy configuration file (so, not the default .sample). If you are still using the default configuration, simply `cp config/galaxy.yml.sample config/galaxy.yml` and it should work fine. 1. Add the following code snippet to `~/galaxy/.vscode/launch.json` (create the file if it does not already exist) ``` { "version": "0.2.0", "configurations": [ { "name": "Python: Current File (Integrated Terminal)", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal" }, { "name": "GalaxyFastAPI uvicorn", "type": "python", "request": "launch", "module": "uvicorn", "args": ["--app-dir", "lib", "--factory", "galaxy.webapps.galaxy.fast_factory:factory"], "env": { "GALAXY_CONFIG_FILE": "${workspaceFolder}/config/galaxy.yml" } }, ] } ``` 2. Re-start VS Code 3. Add a breakpoint somewhere in your code 4. Select Run and Debug on Activity Bar, on the far left hand side. In the RUN AND DEBUG drop down, select `GalaxyFastAPI uvicorn`, and click the Start Debugging button (green arrow) 5. Galaxy should stop right on the break point you added. 6. Enjoy your debugging session :-)