PyCharm 2018.1 Help

Attaching to Local Process

Introduction

PyCharm makes it possible to attach to a Python process, while running a Python script launched either outside of PyCharm, or inside PyCharm, but NOT in the debug mode.

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 local 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.

Attaching to local process

To attach to a local process, follow these general steps:

  1. Launch the process intended for debugging. You can do it from operating system or using the PyCharm terminal.
  2. To find the process to attach to, do one of the following:
    • On the main menu, choose Run | Attach to Local Process:
      attachMainMenu
    • On the main menu, choose Help | Find Action or press Ctrl+Shift+A. In the list of actions that appears, find the desired action by typing the first letters, and select it:
      attachFindAction
  3. From the list of available processes that appears, select the desired process. Simplify your search by typing the first letters of its name or PID
    py attachToProcess
    In case there are several debuggers that can be used for the selected process, you can choose among them in the pop-up menu:
  4. 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.)
  5. When finished, detach the process: select the Run | Stop or click the Stop the process button stop of the Debug Tool Window.
Last modified: 23 July 2018

See Also