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

栏目: C · 发布时间: 6年前

内容简介:欢迎访问我的个人主页qupzhi.com ,转载请注明出处。摘要:在linux上用vim写C++的时候,通常用gdb进行调试,不能随心所欲的看代码和跳转代码以及加watch(也有可能是因为我还没有get正确的使用方法)。为此我发现Clion可以做到自动同步本场代码或自己下载远程代码同步到本地,以及调试在远程机器上运行的代码,为此记录下来。CLion 是一款专为开发 C 及 C++ 所设计的跨平台 IDE。 它是以 IntelliJ 为基础设计的,包含了许多智能功能来提高开发人员的生产力,从而提升工作效率 。

欢迎访问我的个人主页qupzhi.com ,转载请注明出处。

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

简介

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

环境准备

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

自动同步

使用Clion优雅的完全远程自动同步和远程调试c++
  • 打开CLion的设置,进入到 Preferences | Build, Execution, Deployment | Deployment
  • 点加号,添加一个远程配置
  • 设置为SFTP协议,设置远程ip、port、pass然后点击Test Connection,确认是否连接成功
使用Clion优雅的完全远程自动同步和远程调试c++
  • 切换到Mappings
  • 设置本地的代码根目录Local path
  • 设置远程的代码根目录 Deployment path
使用Clion优雅的完全远程自动同步和远程调试c++
  • 上传一个文件
  • Upload是上传,Download是下载,本地与远程所映射的目录我们在上面设置过了
使用Clion优雅的完全远程自动同步和远程调试c++
  • 上传成功
使用Clion优雅的完全远程自动同步和远程调试c++
  • runlvm.sh文件更新成功,现在的时间是3月18 21:42
使用Clion优雅的完全远程自动同步和远程调试c++
  • 在Tool - Deployment - Automatic Upload(always) 设置为自动同步
  • 自动同步的话可以在每次在本地改动代码的时候自己同步了
  • Sync with Deployed to 就是自动下载远程代码到本地
使用Clion优雅的完全远程自动同步和远程调试c++
  • 手动上传整个项目
    使用Clion优雅的完全远程自动同步和远程调试c++
  • 上传成功,上传了100个文件
    使用Clion优雅的完全远程自动同步和远程调试c++
  • 查看远程目录,确实成功了

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

远程调试

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优雅的完全远程自动同步和远程调试c++
使用Clion优雅的完全远程自动同步和远程调试c++
使用Clion优雅的完全远程自动同步和远程调试c++
  • 添加一个GDB远程调试的配置 GDB Remote Debug
  • 设置远程访问参数(target remote args): tcp:xx.xx.xx.xx:1234
  • 设置远程路径和本地路径的映射(Path mappings)
  • 远程调试连接成功后,像本地调试一样,可以设置断点,单步跟踪等
  • 调试需要本地和远程的代码一致

两个方法设置远程配置

方法一、远程gdbserver的启动 远程调试依赖gdbserver的来支持,通过gdbserver的启动的程序,会先等待远程调试的连接,连接成功后再启动进程。

假设代码的根目录: /data/pzqu/read_phy_disk_use/ ,执行以下代码以后编译

cd /data/pzqu/read_phy_disk_use/build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make
gdbserver :1234 ./read_phy_disk_use
复制代码

注意:cmake的指定需要-DCMAKE_BUILD_TYPE=Debug来请获取调试

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

远程gdbserver的动态连接 gdbserver的还支持动态绑定到已经启动的进程

gdbserver :1234 --attach <PID>
复制代码
使用Clion优雅的完全远程自动同步和远程调试c++

以上所述就是小编给大家介绍的《使用Clion优雅的完全远程自动同步和远程调试c++》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

形式感+:网页视觉设计创意拓展与快速表现

形式感+:网页视觉设计创意拓展与快速表现

晋小彦 / 清华大学出版社 / 2014-1-1 / 59.00元

网页设计师从早年的综合性工作中分化出来,形成了相对独立的专业岗位,网页设计也不再是单纯的软件应用,它衍生出了许多独立的研究方向,当网站策划、交互体验都逐渐独立之后,形式感的突破和表现成为网页视觉设计的一项重要工作。随着时代的发展,网页设计更接近于一门艺术。网络带宽和硬件的发展为网页提供了使用更大图片、动画甚至视频的权利,而这些也为视觉设计师提供了更多表现的空间。另外多终端用户屏幕(主要是各种移动设......一起来看看 《形式感+:网页视觉设计创意拓展与快速表现》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器