环境信息:
-
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
按钮启动调试,下方截图已进入调试过程