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

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

如果您想调试可以从CLion启动的程序,最好的方法是启动本地调试会话。

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. 按CtrlAltF5或从主菜单中选择Run | Attach to Process。
  2. 在“附加到进程”中,显示正在运行的进程列表。

    • 对于每个进程,您可以找到可执行文件名称和进程ID,启动它的用户,可用的调试器以及用于启动的命令。
    • 您可以将进程显示为列表或树,并按名称搜索特定进程:
      1.png
    • 使用下拉菜单按调试器类型筛选进程列表:
      2.png
    • 您还可以通过设置“仅显示我的进程”来筛选列表:
      3.png
    • 切换到SSH选项卡以查看远程进程列表。请务必事先配置带有SSH凭据的远程工具链。
    • 在Windows上,切换到WSL选项卡以打开WSL进程列表。您将能够使用WSL GDB调试器(如果您的项目中配置了至少一个WSL工具链)附加到它们。

    您可以附加到以管理员权限启动的远程进程。

  3. 然后,按照CLion中通常的调试方式继续进行调试(设置断点、逐步执行、暂停和继续进程、评估表达式等)。

如果您附加的进程不提供调试信息,将无法使用断点,并且将在反汇编视图中执行逐步操作。

从进程中分离

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

  • 单击主工具栏上的停止停止按钮按钮,或在调试工具窗口中单击停止停止按钮按钮。
  • 或者,单击主工具栏上的停止停止按钮按钮,然后选择要关闭的会话。

标签: clion破解, clion破解教程, clion教程, clion基础教程, clion高级教程, clion核心教程, clion免费激活码, clion免费注册码, clion注册码在线生成, clion激活