CLion 2025.2 Help

附加到进程

CLion 提供了一种连接调试器到本地和远程进程的方法。

对于 C/C++ 应用程序,您可以在 Windows 上使用 GDB 或 MSVC LLDB,在 macOS 上使用 LLDB,在 Linux 上同时使用 GDB 和 LLDB 附加到进程。 在适用的情况下,也可以使用其他语言的调试器(例如,Python 调试器)。

Ubuntu 的先决条件

在 Ubuntu 和其他一些 Linux 发行版上,您可能会在首次尝试附加到进程时收到 ptrace: Operation not permitted错误消息。 请执行以下操作之一:

  1. 要暂时禁用此限制,请输入以下命令:

    echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
  2. 要永久禁用此限制,请打开 /etc/sysctl.d/10-ptrace.conf 文件进行编辑,并将行 kernel.yama.ptrace_scope = 1 更改为 kernel.yama.ptrace_scope = 0

    要立即应用更改,请输入上述命令 echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

    或者,运行 sudo service procps restart 或重新启动您的系统。

您可以在 此处找到更多详细信息。

附加到正在运行的进程

  1. Ctrl+Alt+F5 或从主菜单中选择 运行 | 附加到进程

    附加到进程 对话框会打开所有检测到的正在运行的进程列表。

    您可以将进程视为列表或树状结构,并按名称搜索特定进程:

    在“附加到进程”对话框中搜索

    对于每个进程,您可以找到可执行文件名称和进程 ID、启动它的用户、可用的调试器以及用于启动的命令。

    使用下拉菜单按调试器类型过滤进程列表:

    可附加的调试器列表

    您还可以通过设置 仅显示我的进程 来过滤列表:

    在“附加到进程”中仅显示我的进程
  2. 本地 选项卡显示本地进程列表。 选择进程并点击 附加方式...

    切换到 SSH 选项卡以查看远程进程列表。 请确保事先配置了 带有 SSH 凭据的远程工具链

    正在附加到远程进程

    在 Windows 上,切换到 WSL 选项卡以打开 WSL 进程列表。 您将能够使用 WSL GDB 调试器附加到它们(如果您的项目中至少配置了一个 WSL 工具链)。

  3. 以与您通常在 CLion 中相同的方式 调试设置断点逐步执行暂停和恢复进程、 评估表达式等)。

附加到尚未启动的进程

如果您想要附加的进程尚未运行,您可以使用 附加到未启动的进程 操作预先配置附加方式:

  1. 在代码中设置必要的断点

  2. 请选择 运行 | 附加到未启动的进程 从主菜单。

  3. 在打开的对话框中,指定进程的命令行或可执行文件名。

  4. 如果希望在 CLion 附加后暂停进程,请勾选 在附加后保持进程挂起 复选框。

  5. 如果不希望在调试会话结束后 CLion 重新打开此对话框,请取消选中 调试后重新打开对话框 复选框。

  6. 点击 附加 并选择调试器(如适用)。

CLion 正在等待指定的进程

CLion 将开始监视。 一旦识别出进程,将自动附加并触发调试。

从进程中分离

从远程进程分离的过程与停止调试会话相同。 但是,请注意,当您分离时,调试会话会关闭,但进程会继续运行。

  • 点击主工具栏中的 停止 停止按钮 按钮 调试工具窗口

  • 或者,点击 停止 停止按钮 主工具栏上的 Ctrl+F2 ,然后选择要关闭的会话。

最后修改日期: 2025年 9月 26日