VSCode+ssh+gdb远程进行嵌入式Linux调试
1、使用环境
win10 + Ubuntu16.04 + imx6u
2、使用步骤
(1)Remote-SSH
① 在VScode中安装如下插件。
② 进入远程资源管理器,然后新建远程连接。
输入ssh <远程主机User>@<ip地址>
选择window中c盘用户下的.ssh/config
出现如下内容
注:以上内容也可手动配置(删除远程ssh也可以在此文件下删除)
③:输入远程主机密码
参考内容:
VSCode使用 - Remote-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 运行-> 启动调试。

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫