使用VSCode调试Zephyr
本文介绍如何在ubuntu 18.04环境下使用zephyr+gdb配置调试zephyr qemu
安装 链接到标题
VSCode 链接到标题
arm gdb 链接到标题
参考使用eclipse-调试zephyr下载 & 安装arm gdb章节
调试程序虚拟机 链接到标题
VSCode配置 链接到标题
添加要调试的Zephyr项目 链接到标题
通过文件->将文件夹添加到工作区选择要调试的zephyr项目,例如~/work/project/zephyr_app/zephyr_sample
编辑debug配置文件 链接到标题
按照下图示例打开launch.json
按照下图示例修改各项配置

运行调试 链接到标题
运行主机 链接到标题
这里的主机是qemu虚拟机,按照调试程序虚拟机的方法编译后,在build下执行下面命令后qemu启动gdbserver等待gdb连接
ninja debugserver
VSCode连接调试 链接到标题
选择调试->启动调试或在直接按F5就可以启动调试,调试界面如下,可以设置断点,单步或观察变量和callstack。
VSCode提供的debug界面只有查看变量,符号,堆栈,和断点管理,更多gdb的功能可以通过调试控制台直接执行gdb命令来完成,如下图:

注意 链接到标题
- 目前Native Debug不能启动时stop到第一句代码,会提示下面信息,因此需要在启动debug前自己在第一条指令上设置一个断点
Not implemented stop reason (assuming exception): undefined
- VSCode无法识别汇编语言,导致无法在汇编语言上面下断点。通过安装对应的汇编语言插件来解决,我用的ARM平台因此安装的是ARM插件
- 为了调试必装其它插件C/C++, Native Debug
参考 链接到标题
https://github.com/WebFreak001/code-debug