使用Clion优雅的完全远程自动同步和远程调试c(上)

简介: 使用Clion优雅的完全远程自动同步和远程调试c(上)

使用Clion优雅的完全远程自动同步和远程调试c++


摘要:在linux上用vim写C++的时候,通常用gdb进行调试,不能随心所欲的看代码和跳转代码以及加watch(也有可能是因为我还没有get正确的使用方法)。为此我发现Clion可以做到自动同步本场代码或自己下载远程代码同步到本地,以及调试在远程机器上运行的代码,为此记录下来。



简介

 

CLion 是一款专为开发 C 及 C++ 所设计的跨平台 IDE。 它是以 IntelliJ 为基础设计的,包含了许多智能功能来提高开发人员的生产力,从而提升工作效率 。



环境准备

 

  • 操作系统: macOS / Windows
  • IDE: CLion
  • 源码路径: Node Master

 

自动同步

aHR0cHM6Ly9hc2sucWNsb3VkaW1nLmNvbS9odHRwLXNhdmUvMzA5NzQ2NC9tNXlwMXBycGQyLnBuZw.png


  • 打开CLion的设置,进入到 Preferences | Build, Execution, Deployment | Deployment
  • 点加号,添加一个远程配置
  • 设置为SFTP协议,设置远程ip、port、pass然后点击Test Connection,确认是否连接成功


aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAxOS9wbmcvMzU4ODY0LzE1NzE5MTM0MDc3MDMtOTFiOGE0OWItYzFjZi00ZTg1LWI5OTUtNjFiMjhkZjVlNDBkLnBuZw.png

  • 切换到Mappings
  • 设置本地的代码根目录Local path
  • 设置远程的代码根目录 Deployment path


aHR0cHM6Ly9hc2sucWNsb3VkaW1nLmNvbS9odHRwLXNhdmUvMzA5NzQ2NC9wYW45bXFudGM0LnBuZw.png


  • 上传一个文件
  • Upload是上传,Download是下载,本地与远程所映射的目录我们在上面设置过了



aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAxOS9wbmcvMzU4ODY0LzE1NzE5MTM0NDMwNDMtYjEyMWFhODgtZGQwMC00NDkyLWI2YWEtY2ExYTU1ZTVmNWY3LnBuZw.png


  • 上传成功


aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAxOS9wbmcvMzU4ODY0LzE1NzE5MTM0Nzc3ODMtZTA2NmRhMGEtNWQ0OC00ODRjLWIwMjMtYzkxYTAxZTI5MmFiLnBuZw.png

  • runlvm.sh文件更新成功,现在的时间是3月18 21:42

 aHR0cHM6Ly9hc2sucWNsb3VkaW1nLmNvbS9odHRwLXNhdmUvMzA5NzQ2NC9wdnp4ZnZldzY4LnBuZw.png


  • 在Tool - Deployment - Automatic Upload(always) 设置为自动同步
  • 自动同步的话可以在每次在本地改动代码的时候自己同步了
  • Sync with Deployed to 就是自动下载远程代码到本地


aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAxOS9wbmcvMzU4ODY0LzE1NzE5MTM3NzMyODQtZDQxMTAyYmYtNDViOS00YzRhLWJkNTctOGUyZTMyZWNmZTYxLnBuZw.png


手动上传整个项目


image.png


上传成功,上传了100个文件


image.png


  • 查看远程目录,确实成功了

 

好了,现在只要在本地有任何的改动都会自动同步到远程了。


远程调试

 

CentOS的依赖依赖


# cmake
yum install cmake -y
# gcc & gdb
yum install gcc-c++ -y
yum install gdb -y
#gdbserver
yum install gdb-gdbserver -y


添加GDB Remote Debug

 

本地Clion配置

aHR0cHM6Ly9hc2sucWNsb3VkaW1nLmNvbS9odHRwLXNhdmUvMzA5NzQ2NC9lbmVlZGEyaXg4LnBuZw.png

aHR0cHM6Ly9hc2sucWNsb3VkaW1nLmNvbS9odHRwLXNhdmUvMzA5NzQ2NC9hM3pwbW5wOG43LnBuZw.png


aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAxOS9wbmcvMzU4ODY0LzE1NzE5MTM2NTEyMDMtNmZiZTBjM2ItMGNhNS00M2Y0LTg1YjAtYTlhODRhNjgxNzFjLnBuZw.pngaHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAxOS9wbmcvMzU4ODY0LzE1NzE5MTM2NTEyMDMtNmZiZTBjM2ItMGNhNS00M2Y0LTg1YjAtYTlhODRhNjgxNzFjLnBuZw.png


添加一个GDB远程调试的配置 GDB Remote Debug

设置远程访问参数(target remote args): tcp:xx.xx.xx.xx:1234

设置远程路径和本地路径的映射(Path mappings)

远程调试连接成功后,像本地调试一样,可以设置断点,单步跟踪等

调试需要本地和远程的代码一致


两个方法设置远程配置

相关文章
|
NoSQL IDE 开发工具
使用Clion优雅的完全远程自动同步和远程调试c(下)
使用Clion优雅的完全远程自动同步和远程调试c(下)
使用Clion优雅的完全远程自动同步和远程调试c(下)
|
3月前
|
C++
CLion创建C/C++文件时添加模板代码
CLion创建C/C++文件时添加模板代码
CLion创建C/C++文件时添加模板代码
|
2月前
|
IDE 开发工具 C++
插件:CLion中使用C/C++ Single File Execution插件编译和运行单个文件
插件:CLion中使用C/C++ Single File Execution插件编译和运行单个文件
59 0
|
2月前
|
C++
Clion CMake C/C++程序输出乱码
Clion CMake C/C++程序输出乱码
36 0
|
9月前
|
C++ iOS开发
02 C++ - 开发环境下载与安装(CLion)
02 C++ - 开发环境下载与安装(CLion)
139 0
|
9月前
|
C++
03 C++ - CLion创建程序
03 C++ - CLion创建程序
91 0
|
C++
基于Clion C++和EMQX的MQTTdemo
基于Clion C++和EMQX的MQTTdemo
202 0
|
iOS开发 MacOS
MacOS Clion 使用<bits/stdc++.h>万能头提示 fatal error: ‘bits/stdc++.h‘ file not found
MacOS Clion 使用<bits/stdc++.h>万能头提示 fatal error: ‘bits/stdc++.h‘ file not found
890 0
|
SQL 机器人 编译器
现代化 C/C++ 开发工具 CLion:实在太流畅了,jetbrains永远的神!
现代化 C/C++ 开发工具 CLion:实在太流畅了,jetbrains永远的神!
339 0
现代化 C/C++ 开发工具 CLion:实在太流畅了,jetbrains永远的神!