1、使用环境
win10 + Ubuntu16.04 + imx6u
2、使用步骤
(1)Remote-SSH
① 在VScode中安装如下插件。
② 进入远程资源管理器,然后新建远程连接。
<远程主机User>@<ip地址>
选择window中c盘用户下的.ssh/config
出现如下内容
注:以上内容也可手动配置(删除远程ssh也可以在此文件下删除)
③:输入远程主机密码
参考内容:
VScode 删除远程资源管理器中SSH TARGETS
(2)gdb调试
① 连接上远程主机后,在远程主机下安装gdb debug和C/C++插件
②打开测试代码,然后点击 运行->添加配置 ,选择GDB调试器。
出现launch.json配置文件,将文件内容替换为:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动", //配置名称,显示在配置下拉菜单中
"type": "cppdbg", //配置类型
"request": "launch", //请求配置类型,可以是启动或者是附加
"program": "/home/user/work/gdbtest", // linux上程序可执行文件的完整路径
"args": [], //传递给程序的命令行参数
"stopAtEntry": false,//可选参数,如果为true,调试程序应该在入口(main)处停止
"cwd": "${workspaceFolder}", //目标的工作目录
"environment": [], //表示要预设的环境变量
"externalConsole": false,//如果为true,则为调试对象启动控制台
"MIMode": "gdb",//要连接到的控制台启动程序
"setupCommands": [ //为了安装基础调试程序而执行的一个或多个GDB/LLDB命令
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"miDebuggerPath": "/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb", // linux上适合目标板的arm格式
// gdb程序路径,作为与目标板gdbserver通信的gdb client运行于linux服务器上
"miDebuggerServerAddress": "192.168.20.111:9988" //目标板上gdbserver监听的IP地址和端口号
}
]
}
其中,program,miDebuggerPath,miDebuggerServerAddress根据实际修改
program:需要调试的应用程序可执行文件路径。
miDebuggerPath:此项需要手动添加,用于指定所使用的交叉编译器 gdb路径。
miDebuggerServerAddress:此项需要手动添加,远程 gdbserver服务器地址,端口号可以随便写。
③ VSCode设置好以后就可以进行调试了,启动开发板上的 gdbserver,输入如下命令:
gdbserver 192.168.20.172:9988 gdbtest
④ vscode 运行-> 启动调试。
参考内容:
通过vscode进行嵌入式linux arm开发板gdb调试