CLion 2025.2 Help

复杂的远程场景

本文为需要在远程系统上构建 CMakeMakefile 应用程序并在另一个远程系统上调试的情况提供了一般建议:

  • CLion 在本地运行(下文称为 本地机器

  • 构建在 Docker 容器或其他系统中远程执行(构建机器

  • 应用程序在嵌入式设备或另一个系统上启动(目标机器

1. 设置构建工具链

  1. 选择与应用程序构建位置对应的选项卡,远程机器或 Docker 容器内。

    设置 | 构建、执行、部署 | 工具链 中, 创建一个远程工具链 ,并提供访问构建机器的凭据:

    用于构建的远程工具链

    设置 | 构建、执行、部署 | 工具链 中, 创建 一个 Docker 工具链:

    用于构建的 Docker 工具链
  2. 将创建的工具链连接到 CMake 配置文件 (确保它是一个 Debug 配置文件)或在 Makefile 设置 中选择它。

    在 CMake 配置文件中设置构建工具链
  3. 构建您的项目以获取二进制文件。

    对于远程工具链,二进制文件将在构建机器上创建,并不会自动下载到您的本地机器。 稍后我们将添加一个外部工具来执行所需的复制操作。

    对于 Docker,二进制文件会自动同步到您的本地机器。 构建完成后,您可以立即在映射的目录中检查二进制文件。

2. 准备调试器

  1. 确保您的 构建机器 上有一个 多架构 GDB 可执行文件。

    例如,如果您在 Ubuntu 上构建,可以通过运行以下命令安装多架构 GDB

    sudo apt install gdb-multiarch
  2. 在工具链设置中,检查是否在 调试器 字段中选择了多架构 GDB。 如果未自动检测到,请手动提供路径。

3. 创建一个外部工具以下载二进制文件(Docker 可跳过)

  1. 创建一个 外部工具 ,将二进制文件从构建机器下载到您的本地系统。

    例如,您可以使用 scp 来实现:

    用于下载二进制文件的外部工具
  2. 检查 路径映射 :从构建机器下载二进制文件的目录应与项目根目录的相对路径相同。

  3. 配置工具后,使用 工具 | 外部工具 手动调用它以首次执行下载。 在您的本地系统上检查二进制文件。

4. 设置一个 Remote GDB Server 配置

创建一个 Remote GDB Server 配置 ,并填写以下设置:

  • 可执行文件 - 选择已下载的(本地)二进制文件

  • GDB - 选择来自构建机器的 GDB(工具链中指定的那个)

  • 凭据 - 提供访问目标机器的凭据

  • 启动前 区域(Docker 可跳过) - 在构建步骤之后添加用于下载的外部工具

Remote GDB Server 配置

    现在,当您启动该 Remote GDB Server 配置时,将执行以下步骤:

    1. 您的项目将使用 Remote/Docker 工具链在构建机器上构建。

    2. 对于 Docker,二进制文件将被复制到本地。 否则,它将通过外部工具下载到本地系统。

    3. 然后,二进制文件将被上传到目标机器,并在 gdbserver 下启动。

    4. CLion 调试器(您配置为来自构建机器的 GDB)将连接到目标机器上的 gdbserver

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