gdb 调试 - 在vscode图形化展示在远程的gdb debug过程

前言

本地机器的操作系统是windows,远程机器的操作系统是linux,开发在远程机器完成,本地只能通过ssh登录到远程。现在目的是要在本地进行图形化展示在远程的gdb debug过程。(注意这并不是gdb remote !!)

1. windows 本地安装 vscode + 'remote ssh' 插件

2. 准备好远程机器,并连接

作为实验,我选择用wsl-ubuntu 作为远程机器,在实际中可选择其他linux系统的机器。在vscode按 ctrl + shift + P , 然后输入 'remote SSH - Add new SSH Host' , 我的配置文件及内容:

复制代码
C:\Users\60514\.ssh\config

Host **wsl**
  HostName 172.20.82.228
  User xxx

连接后的界面是这样的 :

3. 增加 (gdb) Launch到 lauch.json 文件,并开始调试

我的lauch.json文件的(gdb) Launch内容

json 复制代码
{
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "/home/xxx/worksapce/cppunit/output/test,
            "args": [],
            "stopAtEntry": false,
            "cwd": "/usr/bin",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }

选择上面的gdb(lauch)配置,并点击绿色的开始按钮开始gdb调试:

设置断点后开始调试,成功停在了断点处,大功告成:

相关推荐
齐齐大魔王6 小时前
linux-僵死进程处理
linux·运维·服务器
Lhan.zzZ7 小时前
笔记_2026.4.28_004
c++·ide·笔记·qt
wuminyu9 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
木喃的井盖9 小时前
无锁队列细节
c++·工程
.小小陈.9 小时前
Linux 线程概念与控制:从底层原理到实战应用
linux·运维·jvm
网络工程小王9 小时前
【LangChain 大模型6大调用指南】调用大模型篇
linux·运维·服务器·人工智能·学习
wangbing112510 小时前
各linux版本的包管理命令
linux·运维·服务器
王老师青少年编程10 小时前
csp信奥赛C++高频考点专项训练之字符串 --【字符串基础】:输出亲朋字符串
c++·字符串·csp·高频考点·信奥赛·专项训练·输出亲朋字符串
具身小佬10 小时前
2D激光雷达发送的是什么信息
ubuntu
Joseph Cooper10 小时前
Linux/Android 跟踪技术:ftrace、TRACE_EVENT、atrace、systrace 与 perfetto 入门
android·linux·运维