windows端Clion + gdb server 远程调试

环境信息:

  • window安装clion: 版本2023.2.2

  • ubantu: 20.04.6,ip为:192.168.11.128

c++项目信息:

  • 在clion中新建最简单的c++项目搭建远程调试环境
  • 项目目录如下:修改的文件只有main.cpp和Makefile

  • main.cpp如下,增加一个循环用于调试
#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    int32_t ret = 0;
    for(int32_t i = 0; i < 10000; i++) {
        ret += i;
    }
    return 0;
}
  • Makefile为编译文件, g++命令中的-o为生成文件,增加-g使生成的文件支持调试
all: main

main: main.cpp
		g++ -o main -g main.cpp

clean:
		rm -f main

ubantu侧配置

  • 下载gdb并安装
  • 注:命令./../configure --prefix=/data01/software/gdb/--prefix中的值与gdb解压目录一致
# 当前目录为/data01/software/gdb
wget https://ftp.gnu.org/gnu/gdb/gdb-9.2.tar.gz
tar -xvf gdb-9.2.tar.gz

cd gdb-9.2
mkdir build
cd build/
./../configure --prefix=/data01/software/gdb/
make && make install

window端clion配置

  • 配置ubantu所在服务器的ssh连接

打开 File >> Settings >> Build,Execution,Deployment >> Deployment,配置ssh连接及本地项目代码与服务器映射地址

  • ssh 连接配置

  • 本地代码与ubantu代码映射配置,我的远端代码放在目录ubantu新建的/data01/project/demo1目录下

  • 配置工具链使用ubantu侧工具链,打开 File >> Settings >> Build,Execution,Deployment >> Toolchains,
  • 如果Cmake下报红,提示未找到,则在服务器端安装cmake,执行命令:sudo apt-get install cmake

  • 增加调试配置

  • 右键项目目录Deploymet >> Upload to...,将项目文件上传到ubantu服务器上
  • 打开Tools >> Start SSH Session...连接到服务器上,cd到上传项目文件的项目目录,可勾选Tools >> Deployment >> Automatic Upload实时更新修改的项目文件

ubantu侧启动gdbserver

  • cd到项目目录下,执行make命令,可以生成名称为main的可执行文件

  • 在上方ubantu目录新建的build目录(全路径为/data01/software/gdb/gdb-9.2/build)下执行如下命令, 1234端口与clion中配置的tcp:192.168.11.128:1234中的端口一致
gdbserver :1234 /data01/project/demo1/main

  • 在clion中点击debug按钮启动调试,下方截图已进入调试过程


参考:

posted @ 2024-05-16 17:01  litayun  阅读(381)  评论(0编辑  收藏  举报