CLion 2023.2 Help

Attach to process

CLion provides a way to attach the debugger to both local and remote processes.

For C/C++ applications, you can attach to a process with GDB or MSVC LLDB on Windows, LLDB on macOS, and both GDB and LLDB on Linux. When applicable, debuggers for other languages (for example, Python debugger) can be used as well.

Prerequisites for Ubuntu

On Ubuntu and some other Linux distributions, you might get the ptrace: Operation not permitted error message upon the first attempt to attach to a process. Do one of the following:

  1. To disable this restriction temporarily, enter the command:

    echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
  2. 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 restart your system.

You can find more details here.

Attach to a process

  1. Press Control+Alt+F5 or select Run | Attach to Process from the main menu.

  2. In the Attach to Process shows the list of running processes.

    For each process, you can find the executable name and process ID, the user that launched it, the available debuggers, and the command used for launching.

    You can view the processes as a list or as a tree and search for a particular process by name:

    Searching in the Attach to Process dialog

    Use the drop-down menu to filter the list of processes by the type of the debugger:

    A list of debugger to attach

    You can also filter the list by setting Show only my processes:

    Show only my processes in the attach to process

  3. Proceed with debugging the same way as you usually do it in CLion (set breakpoints, step through, pause and resume the process, evaluate expressions, and so on).

Detach from a process

The procedure of detaching from a remote process is the same as for stopping a debug session. However, note that when you detach, the debug session closes but the process continues to run.

  • Click the Stop the Stop button button on the main toolbar on in the Debug tool window.

  • Alternatively, click Stop the Stop button on the main toolbar or press Control+F2, then select the session to be closed.

Last modified: 05 September 2023