由于主机上的gdb工具是基于命令行的,因此调试起来不方便,虽然可以加一些插件,但是依旧和IDE调试体验差很多。本文讲解如何使用 VSCode+gdbserver 来实现图形化界面的嵌入式 linux 程序调试。
1. VSCode设置
VScode安装远程调试插件“ 安装远程调试插件“ 安装远程调试插件“ 安装远程调试插件“ Remote Development”,点击“调试” ”,点击“调试” ”,点击“调试” ”,点击“调试” ->“添加配置”,然后 “添加配置”,然后 “添加配置”,然后 “添加配置”,然后 “添加配置”,然后 选择“ C++(GDB/LLDB)” 选中之后会在当前文件夹新建一个名为“ ”,会在当前文件夹新建一个名为“ launch.json”的文件,此文件会存放.vscode
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0", "configurations": [
{
"name": "hello",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/hello",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"miDebuggerPath":"/home/mikeyyu/linux/tools/gdb/bin/arm-linux-gnueabihf-gdb",
"miDebuggerServerAddress": "192.168.1.55:2000"
}
]
}
launch.json文件中有几个项目是需要我们根据实际情况配置的:
- name:调试的项目名 :调试的项目名 :调试的项目名
- program:需要调试的应用程序可执行文件路径。
- cwd:需要调试的应用程序源码路径。
- miDebuggerPath:此项需要手动添加,用于指定所使的交叉编译器
- miDebuggerServerAddress:此项需要手动添加,远程gdbserver服务器地址。
2. VSCode 调试方法
VSCode设置好以后就可进行调试了,首先要启动开发板上的gdbserver,输入如下命令:
gdbserver 192.168.1.250:2000 hello 接下来点击vscode按钮后会自动链接到gdb服务上
由于是通过网络进行调试的,因此启动以后会有一个建立连接程可能需要几秒,启动之后如下图所示 在vscoe上方有控制程序功能按钮;一共有6个按钮;从左到右依次为:
- 继续按钮,快捷键为 F5,用于控制程序的运行和暂停到断点以后可按下此钮继续运行。
- 单步跳过按钮,快捷键为F10。
- 单步调试按钮,快捷键为 F11。
- 单步跳出按钮,快捷键为Shift+F11。
- 重启按钮,快捷键为Ctrl+Shift+F5。
- 停止按钮,快捷键为Shift+F5。