CLion远程调试嵌入式开发板程序
1. 目的
有时候我们的程序在板端运行崩溃,或不符合预期或者单纯想要单步调试去查看一些变量。很多时候我们不得不加很多打印语句或用gdb 调试。不够直观和方便。clion可以说是现在linux平台最好的C++ IDE了,clion还提供了remote gdb server的功能,可以让我们实现在开发机上打断点单步调试开发板上的程序,在满足使用条件的情况
下,还是非常方便的。
2. 前提条件
板端:具有gdb-server
主机:能够编译目标板的程序
3. CLion设置
3.1 设置一个Deployment
(其实官方步骤里没写这步,但实践看设置一下非常方便后面得使用)
其中SSh configuration就是板子的ssh连接配置。
再设置一下mappings中的Deployment path, 也就是本地路径同步到板子的哪个路径:
还可以设置一下Excluded Paths, 也就是哪些路径不同步到板子,因为板子只是跑下程序,所以代码、其他编译目录等都可以设置不传。
点击完成,第一步配置就OK了。
3.2 上传需要的目录到目标板子
右键想要同步的目录或文件,Deployment->UploadXXX(对应板子deployment)即可。
也可以设置为自动同步,每次有修改,就会自动同步到板子:
如果有文件上传,会有日志:
3.3 设置一个Remote GDB Server
Run->Edit Configures:
要设置上传路径,直接设置为我们在3.1中设置的目录即可,
设置GDB Server的启动参数, 格式为 :端口号 程序路径 程序启动参数。 如上图 ":1234 xxx -h 192.168.17.82"
如果程序需要依赖板子其他路径的库,在Environment 中设置。
至此,设置完成。就可以像本地一样打断点debug了。
总结
用这种远程debug的方式,对于不习惯手动gdb在板子上调试的开发者还是挺方便的,也比print打印去调试更方便。CLion的Remote debug其实是依赖于Remote GDB Server, 并不是其独有的功能,用其他编辑器如VS Code也有插件可以实现类似的功能。
PS: Jet Brains yyds, 支持正版(手动狗头)