Raspberry Pi 的C++交叉编译环境配置 (4)
上一节我们介绍完vscode task任务管理的配置,这一节我们介绍最重要的调试环境的配置。
在VSCODE下按F5
,选择C++
VSCODE会自动弹出launch.json文件
复制以下内容,覆盖launch.json
|
|
配置中最重要的三个参数分别是,
- program: 执行程序的带路径的名称
- miDebuggerServerAddress: 调试服务器的地址,”raspberry:9091” 其中raspberry是IP地址也可以是主机名称,后面是端口号
- miDebuggerPath: 调试器地址,注意这里要替换成你的调试器所在的路径
我们在上一节中介绍了task的配置,其中有一项为 remote debug
。这个任务中引用了一段脚本,用来做一些远程调试的必要准备工作,脚本如下:
|
|
脚本主要做了以下工作:
- 用debug模式编译执行文件
- 将执行文件传输至RPi
- 远程执行结束gdbserver进程,以防止有没有结束的gdbserver占用端口
- 执行启动gdbserver调试执行文件
现在RPi上还没有project目录,下面我们在RPi上创建一下
|
|
现在我们可以测试一下环境是否搭建成功,测试前请确保Ubuntu和RPi的网络连接正常
在vscode的test.cpp中按下
F9
选取一行作为断点在vscode中按下
Ctrl+F7
执行编译、传输、启动gdbserver的工作看到gdbserver启动成功后,按下
F5
启动调试,调试器会自动连接,如果没有自动打开可以选择左侧边栏的调试面板按钮,可以看到代码已经命中断点,所有的变量的值都显示在变量栏里,可以按F10
单步调试。程序的输出会显示在Terminal里。
至此我们所有的配置工作就已经完成了,我总结一下现在的开发流程就是:
- 编辑代码,
F7
查看是否有编译错误 Ctrl+F7
传输代码至RPiF9
源代码中添加短短F5
连接远程调试器进行调试- 发现错误,重复1