实现本地Clion写项目,远程连接Ubuntu服务器,并将本地所做的修改实时同步到Ubuntu上
一、Ubuntu服务器
- 开启sshd服务
sudo systemctl status sshd
- 安装工具链,g++,gcc,make,cmake,gdb,(apt install安装的版本不符,就去搜其他方式安装适合的版本)
sudo apt install gcc g++ make cmake gdb -y
二、本地Win10
- 参考windows clion安装
- 配置Ubuntu服务器:
文件 -> 设置 -> 构建、执行、部署 -> 工具链 -> 点+添加远程服务器
名称:便于自己区分哪个服务器即可
凭据:点击后方齿轮进行ssh配置,在下方介绍
Cmake,Make,C编译器,C++编译器,调试器:填完凭据后,这些工具链CLion会自动搜索,若找不到就自己填一下路径
ssh配置,点+添加:
主机:远程Ubuntu服务器的ip,用ifconfig查看
端口:默认22,也可以修改服务器的/etc/ssh/sshd_config来修改端口
用户名:服务器上登录的用户名
输入用户名的密码后,点测试连接进行验证
-
CMake配置:
点+添加两个配置,分别是Debug和Release:
名称:分别为cmake-Debug和cmake-Release
构建类型:分别是Debug和Release
工具链:选择上文配置的Ubuntu服务器工具链
构建目录:和名称相同即可
其余默认即可 -
部署远程同步:
在下方选择刚才的Ubuntu服务器为默认服务器
此时,Clion会自动将本地所做的修改同步到Ubuntu的/tmp/下某个目录,我们可以自定义这个位置。
文件 -> 设置 -> 构建、执行、部署 -> 部署 -> +添加一个,选择SFTP,分别按下面三张图填写连接,映射,排除的路径
类型:SFTP
ssh配置:上面新添加的Ubuntu服务器
根路径:/
web服务器URL:没填
映射指将本地的什么目录和Ubuntu的什么目录同步,为了方便F:\coder\下的其它新项目使用,Ubuntu上的部署路径采用和本地一样的目录结构(放在了/mnt/下),需要将整条部署路径的权限chmod 777,否则本地作的修改同步不到Ubuntu上
排除的路径:这些路径不会被自动同步 -
手动同步(拉取或推上去)
在需要同步的文件/目录右键 -> 部署 -> 上传/下载即可 -
自动实时同步
为了方便,我设置了自动同步:
工具 -> 部署 -> 自动上传
如果自动上传时,不小心改错东西了,也可以恢复,参考CLion精华笔记
三、优雅地远程GDB调试
实现本地写代码,本地调试;实际都是用的远程的工具链
可以参考优雅地远程gdb调试
-
本地在clion中添加一个用于gdb远程调试的配置:
点+ -> 远程调试
需要注意的是:
‘target remote实参’:tcp:Ubuntu的ip:指定一个端口,这个端口是下面Ubuntu服务器要监听的端口
路径映射:分别填本项目在本地和远程的同步目录
其它项照着图片填即可 -
远程Ubuntu设置远程配置
方法一、 远程gdbserver的启动
假设代码的根目录:/mnt/clion-shared/coder/algorithm/Acm/,我们首先在clion中打开终端,选择我们的远程服务器:
远程调试依赖gdbserver的来支持,通过gdbserver的启动的程序,会先等待远程调试的连接,连接成功后再启动进程。可以在上面打开的终端中输入如下命令,使Ubuntu启动一个进程开始监听(监听的正是上文我们设置的1234端口):文章来源:https://www.toymoban.com/news/detail-766707.html
cd /mnt/clion-shared/coder/algorithm/Acm/build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make
gdbserver :1234 ./Acm
文章来源地址https://www.toymoban.com/news/detail-766707.html
- 本地打断点,点小虫子开调试即可,可以在本地clion观察变量的值,以及本地终端观察打印的值
到了这里,关于本地clion开发/优雅地调试,并实时同步远程服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!