使用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(下)
|
NoSQL IDE Java
使用CLion调试Redis源码的超详细步骤
因为我本人主要是写Java的,有强烈的IDE依赖症,不喜欢使用文本编辑器或者命令行这样的工具,所以选择使用CLion搭建一个IDE环境来辅助 Redis 源码阅读。
492 1
使用CLion调试Redis源码的超详细步骤
|
编解码 缓存 NoSQL
用Ubuntu18与clion调试FFmpeg
用Ubuntu18与clion调试FFmpeg
253 0
|
弹性计算 并行计算 NoSQL
Clion配置远程CUDA调试环境
在阿里云GPU ECS实例上搭建Remote CUDA开发环境,使用Jetbrains Clion作为Develop IDE。
724 1
Clion配置远程CUDA调试环境
|
Java 开发工具 数据安全/隐私保护
在Clion上调试LeetCode代码
在Clion上调试LeetCode代码
932 0
在Clion上调试LeetCode代码
|
关系型数据库 MySQL 开发工具
Mac下使用Clion调试MySQL版本5.7源码
Mac下使用Clion调试MySQL版本5.7源码
165 0
Mac下使用Clion调试MySQL版本5.7源码
|
关系型数据库 C++ iOS开发
【从入门到放弃-MySQL】CLion调试MySQL8.0源码
前言 想对的MySQL底层实现做一些了解,奈何没有用过C++不知道怎么调试一个大型项目,一日和大神交流时大神扔给我了一份《XCode调试MySQL8秘籍》。于是在几经波折(主要是因为菜)之后终于打开了MySQL的调试大门。
3149 0
|
8月前
|
XML Java 数据格式
Jrebel远程同步
Jrebel远程同步
|
IDE 网络安全 开发工具
在PyCharm中连接云端资源进行代码调试
通过PyCharm ToolKit连接ModelArts,您可在PyCharm中便捷地使用云端计算资源进行代码开发。
442 0
在PyCharm中连接云端资源进行代码调试
|
Ubuntu 网络安全 计算机视觉
树莓派开发笔记(四):更方便的开发,qt远程运行(主机qt开发一键远程运行到目标机上)
树莓派开发笔记(四):更方便的开发,qt远程运行(主机qt开发一键远程运行到目标机上)
树莓派开发笔记(四):更方便的开发,qt远程运行(主机qt开发一键远程运行到目标机上)