Attach to DAP
Create:
Use the Attach to DAP run/debug configuration to connect PyCharm to an existing Debug Adapter Protocol (DAP) server instead of launching your application from the IDE. This is useful when your application is started outside PyCharm or is already running in another environment.
Toolbar
The tree view of run/debug configurations has a toolbar that helps you manage configurations available in your project as well as adjust default configurations templates.
Item | Shortcut | Description |
|---|---|---|
Alt+Insert | Create a run/debug configuration. | |
Alt+Delete | Delete the selected run/debug configuration. Note that you cannot delete default configurations. | |
Ctrl+D | Create a copy of the selected run/debug configuration. Note that you create copies of default configurations. | |
The button is displayed only when you select a temporary configuration. Click this button to save a temporary configuration as permanent. | ||
Move into new folder / Create new folder. You can group run/debug configurations by placing them into folders. To create a folder, select the configurations within a category, click Then, to move a configuration into a folder, between the folders or out of a folder, use drag or To remove grouping, select a folder and click | ||
Click this button to sort configurations in the alphabetical order. |
Common options
Item | Description |
|---|---|
Name | Specify a name for the run configuration to quickly identify it among others when editing or running. |
Store as project file | Save the file with the run configuration settings to share it with other team members. The default location is .idea/runConfigurations. However, if you do not want to share the .idea directory, you can save the configuration to any other directory within the project. By default, it is disabled, and PyCharm stores run configuration settings in .idea/workspace.xml. |
Attach to DAP-specific configuration options
Item | Description |
|---|---|
Remote address | Specify the IP address of the machine by which the remote debug server can be accessible and the port number, which will be automatically substituted to the command line. By default, localhost is used. |
Path Mappings | Map local project paths to their corresponding locations on the remote machine. Use
|
Additional options
Click Modify options and select the options that you want to add to the dialog.
Operating System
Item | Description |
|---|---|
Allow multiple instances | Allow running multiple instances of this run configuration in parallel. By default, it is disabled, and when you start this configuration while another instance is still running, PyCharm suggests stopping the running instance and starting another one. This is helpful when a run configuration consumes a lot of resources and there is no good reason to run multiple instances. |
Debug
Item | Description |
|---|---|
Debug just my code | When this option is enabled, the debugger focuses only on user-written code and skips stepping into external libraries. |
Before launch
Item | Description |
|---|---|
Open run/debug tool window when started | By default this option is selected and the Run or the Debug tool window opens when you start the run/debug configuration. Otherwise, the tool window is hidden. However, when the configuration is running, you can open the corresponding tool window for it yourself by pressing Alt+4 or Alt+5. |
Focus run/debug tool window when started | Select this option to automatically move focus to the Run or the Debug tool window when you start the run/debug configuration. |
Show the run/debug configuration settings before start | Select this option to show the run/debug configuration settings prior to actually starting the run/debug configuration. |
Add before launch task | Select this option to add one of the following available tasks:
|
Use cases
Use Attach to DAP to connect PyCharm to a Python application that was started outside the IDE. For example, you can:
Debug a long-running service started from the command line or by another tool:
python -m debugpy --listen 5678 app.pyDebug application startup by waiting for the debugger before the first line of code is executed:
python -m debugpy --listen 5678 --wait-for-client app.pyAttach to an already running Python process without restarting it:
python -m debugpy --listen 5678 --pid <PID>Debug applications running in Docker, WSL, or on a remote machine by exposing a debug port and connecting to it from PyCharm.
Debug applications launched by another tool or process, such as a task runner, test framework, or custom launcher, where starting the application directly from PyCharm is not practical.