【24小时创业】2022年8月18日
06-17
摘要:在Linux上使用vim编写C++时,通常会使用gdb进行调试。你无法随心所欲地阅读代码、跳转到代码、添加watch(也可能是因为我还没有得到正确的使用方法)。
为此,我发现Clion可以自动同步本地代码或者下载远程代码同步到本地,以及调试远程机器上运行的代码,记录下来。简介 CLion 是一款专为开发 C 和 C++ 而设计的跨平台 IDE。
它基于IntelliJ设计,包含许多智能功能,可以提高开发人员的生产力,从而提高工作效率。环境准备操作系统:macOS / Windows IDE:CLion源代码路径:Node Master自动同步远程链接的设置。
打开 CLion 设置,转到首选项|构建、执行、部署 |部署,点击加号,添加远程配置,设置为SFTP协议,并设置远程ip、端口、pass然后点击测试连接确认是否连接成功。设置本地和远程连接映射。
切换到映射。设置本地代码根目录。
本地路径。设置远程代码根目录。
部署路径。上传文件。
上传文件。上传就是上传。
,Download就是下载,本地和远程映射的目录。上面我们已经设置好了上传效果。
上传成功。检查更新的文件。
runlvm.sh文件更新成功。当前时间为3月18日21:42。
在工具部署中将自己设置为同步。 - 自动上传(always) 如果设置为自动同步,则每次本地更改代码时都可以自动同步。
Sync with Deployed to 是自动将远程代码下载到本地并上传整个项目。手动上传整个项目。
上传成功。上传成功。
上传成功。我创建了一个文件来检查上传效果,并检查了远程目录。
确实是成功了。现在,本地所做的任何更改都会自动同步到远程。
远程调试 CentOS 依赖项 依赖代码语言:txt copy # cmakeyum install cmake -y # gcc & gdbyum install gcc-c++ -yyum install gdb -y #gdbserveryum install gdb-gdbserver -y add GDB Remote Debug 本地 clion 配置 add 远程调试设置 Add GDB Remote Debug 设置 gdb 远程配置 添加 GDB 远程调试配置 GDB Remote Debug 设置远程访问参数(target remote args): tcp:xx.xx.xx.xx:设置远程路径与本地路径的映射(Path mappings)远程调试连接成功后,和本地调试一样,可以设置断点、单步跟踪等调试。本地和远程代码需要保持一致。
有两种方法用于设置远程配置方法。 1. 启动远程gdbserver。
远程调试依赖gdbserver来支持。通过gdbserver启动的程序会先等待远程调试连接,连接成功后再启动进程。
假设代码根目录:/data/pzqu/read_phy_disk_use/,执行以下代码,然后编译代码语言:txt copy cd /data/pzqu/read_phy_disk_use/buildcmake .. -DCMAKE_BUILD_TYPE=Debugmakegdbserver:./read_phy_disk_use 注意: cmake需要指定-DCMAKE_BUILD_TYPE=Debug,请获取调试方法2.动态连接远程gdbserver。 gdbserver 还支持动态绑定到已启动的进程。
代码语言:txt copy gdbserver: --attach
点击小虫子开始调试断点。我们可以看到代码停在断点处。
变量可以自己设置,和正常调试一样。使用 CLion,您可以完全远程工作。
这是一个非常非常酷的操作。将来你完全可以做到。
我使用IDE来编写代码。虽然使用命令行看起来更专业,但使用工具可以有效提高工作效率。
为什么不呢?设置 Toolchains 工具链并进入 Preferences |构建、执行、部署 |用于设置远程连接信息的工具链。 CLion会自动监控CMake gcc g++ gdb的信息。
设置cmake并进入Preferences |构建、执行、部署 | CMake 工具链。选择我们上面刚刚设置的自动。
当勾选reload CMake project on editing设置时,只要修改代码,就会自动编译并编译成功。现在远程Toolchains工具链已经配置完成,并且对应的CMake配置文件也已经配置完毕。
上图是自动编译上传到的目录/tmp。 /tmp.pIdETgMIBR,那么我们只需将其设置为自动同步目录即可,如下图。
现在已设置为自动同步目录。只需在运行/调试配置切换器中选择正确的 CMake 配置文件即可。
也就是说,应用程序和测试可以完全远程构建、运行和调试。添加应用程序 添加应用程序以远程运行我们的程序。
远程运行。本地输出结果。
远程调试。远程运行。
本地自动调试总结。在CLion中配置同步信息:同步到哪台机器上的哪个目录。
使用Deployment可以实现代码的本地和远程自动同步和自动下载、手动同步和手动下载。配置 GDB 远程调试设置。
使用gdbserver启动程序进行调试。使用 gdbserver Attach 附加到启动的程序进行调试。
本地完成远程代码调试。其他的。
这样的方法是不是很优雅,这样我们只要不断添加工具链(Toolchains)就可以在本地处理无数的远程环境了。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-17
06-17
06-18
06-18
06-06
06-18
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用