CLion远程调试嵌入式开发板程序

时间:2021-11-02 03:42:40

CLion远程调试嵌入式开发板程序

1. 目的

有时候我们的程序在板端运行崩溃,或不符合预期或者单纯想要单步调试去查看一些变量。很多时候我们不得不加很多打印语句或用gdb 调试。不够直观和方便。clion可以说是现在linux平台最好的C++ IDE了,clion还提供了remote gdb server的功能,可以让我们实现在开发机上打断点单步调试开发板上的程序,在满足使用条件的情况

下,还是非常方便的。

2. 前提条件

板端:具有gdb-server

主机:能够编译目标板的程序

3. CLion设置

3.1 设置一个Deployment

(其实官方步骤里没写这步,但实践看设置一下非常方便后面得使用)

CLion远程调试嵌入式开发板程序

其中SSh configuration就是板子的ssh连接配置。

再设置一下mappings中的Deployment path, 也就是本地路径同步到板子的哪个路径:

CLion远程调试嵌入式开发板程序

还可以设置一下Excluded Paths, 也就是哪些路径不同步到板子,因为板子只是跑下程序,所以代码、其他编译目录等都可以设置不传。

CLion远程调试嵌入式开发板程序

点击完成,第一步配置就OK了。

3.2 上传需要的目录到目标板子

右键想要同步的目录或文件,Deployment->UploadXXX(对应板子deployment)即可。

CLion远程调试嵌入式开发板程序

也可以设置为自动同步,每次有修改,就会自动同步到板子:

CLion远程调试嵌入式开发板程序

如果有文件上传,会有日志:

CLion远程调试嵌入式开发板程序

3.3 设置一个Remote GDB Server

Run->Edit Configures:

CLion远程调试嵌入式开发板程序

要设置上传路径,直接设置为我们在3.1中设置的目录即可,

设置GDB Server的启动参数, 格式为 :端口号 程序路径 程序启动参数。 如上图 ":1234 xxx -h 192.168.17.82"

如果程序需要依赖板子其他路径的库,在Environment 中设置。

至此,设置完成。就可以像本地一样打断点debug了。

CLion远程调试嵌入式开发板程序

CLion远程调试嵌入式开发板程序

总结

用这种远程debug的方式,对于不习惯手动gdb在板子上调试的开发者还是挺方便的,也比print打印去调试更方便。CLion的Remote debug其实是依赖于Remote GDB Server, 并不是其独有的功能,用其他编辑器如VS Code也有插件可以实现类似的功能。

PS: Jet Brains yyds, 支持正版(手动狗头)