PyCharm 2018.2 Help

Attach to Process

PyCharm makes it possible to attach to a Python local process, while running a Python script launched either from your operating system or using the PyCharm terminal, but NOT in the debug mode. Note that you cannot attach to a remote process.

Prerequisites for Ubuntu users

If you are using PyCharm on Ubuntu (or probably, on some other Linux distribution), an error message ptrace: Operation not permitted may appear upon your first attempt to attach to a process. In this case, do one of the following:

  • To disable this restriction temporarily, enter the command:

    echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

  • To disable this restriction permanently, open the /etc/sysctl.d/10-ptrace.conf file for editing and change the line kernel.yama.ptrace_scope = 1 to kernel.yama.ptrace_scope = 0.
    To apply the changes immediately, enter the above command echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope. Alternatively, run sudo service procps restart or simply restart your system.

You can find more details here.

Attach to a process

  1. From the main menu, choose Run | Attach to Process or press Ctrl+Alt+F5.

    Attach to Process menu item

  2. From the list of available local processes, select the desired process.
    Select a process to attach
    Simplify your search by typing the first letters of its name or PID. If there are several debuggers that can be used for the selected process, you can choose among them in the pop-up menu.

    You might want to show only specific processes in the Attach to Process list. Add the required pattern to the corresponding field in the Python Debugger settings (Settings/Preferences | Build, Execution, Deployment | Python Debugger ). For example, put "Scientific" if you want to attach only processes matching this string:

    Show only Scientific processes in the list of the available processes

  3. Proceed with debugging the same way as you usually do it in PyCharm (set breakpoints, step through, pause and resume the process, evaluate expressions, etc.) Note that in case the process you have attached to does not provide debug information, breakpoints will be unavailable and stepping will be performed in the disassembly view.

  4. When finished, detach the process: select the Run | Stop or click the Stop the process button Suspend of the Debug Tool Window.

Last modified: 21 November 2018

See Also