复杂的远程场景
本文为需要在远程系统上构建 CMake 或 Makefile 应用程序并在另一个远程系统上调试的情况提供了一般建议:
CLion 在本地运行(下文称为 本地机器)
构建在 Docker 容器或其他系统中远程执行(构建机器)
应用程序在嵌入式设备或另一个系统上启动(目标机器)
1. 设置构建工具链
选择与应用程序构建位置对应的选项卡,远程机器或 Docker 容器内。
将创建的工具链连接到 CMake 配置文件 (确保它是一个 Debug 配置文件)或在 Makefile 设置 中选择它。

构建您的项目以获取二进制文件。
对于远程工具链,二进制文件将在构建机器上创建,并不会自动下载到您的本地机器。 稍后我们将添加一个外部工具来执行所需的复制操作。
对于 Docker,二进制文件会自动同步到您的本地机器。 构建完成后,您可以立即在映射的目录中检查二进制文件。
2. 准备调试器
确保您的 构建机器 上有一个 多架构 GDB 可执行文件。
例如,如果您在 Ubuntu 上构建,可以通过运行以下命令安装多架构 GDB
sudo apt install gdb-multiarch在工具链设置中,检查是否在 调试器 字段中选择了多架构 GDB。 如果未自动检测到,请手动提供路径。
3. 创建一个外部工具以下载二进制文件(Docker 可跳过)
创建一个 外部工具 ,将二进制文件从构建机器下载到您的本地系统。
例如,您可以使用 scp 来实现:

检查 路径映射 :从构建机器下载二进制文件的目录应与项目根目录的相对路径相同。
配置工具后,使用 手动调用它以首次执行下载。 在您的本地系统上检查二进制文件。
4. 设置一个 Remote GDB Server 配置
创建一个 Remote GDB Server 配置 ,并填写以下设置:
可执行文件 - 选择已下载的(本地)二进制文件
GDB - 选择来自构建机器的 GDB(工具链中指定的那个)
凭据 - 提供访问目标机器的凭据
启动前 区域(Docker 可跳过) - 在构建步骤之后添加用于下载的外部工具

现在,当您启动该 Remote GDB Server 配置时,将执行以下步骤:
您的项目将使用 Remote/Docker 工具链在构建机器上构建。
对于 Docker,二进制文件将被复制到本地。 否则,它将通过外部工具下载到本地系统。
然后,二进制文件将被上传到目标机器,并在 gdbserver 下启动。
CLion 调试器(您配置为来自构建机器的 GDB)将连接到目标机器上的 gdbserver。

