vscode远程到服务器(包括WSL)进行GDB调试


工欲善其事必先利其器,这句话不容小觑,调试工具做的好,对开发工作可起到事半功倍。

本文主要讲vscode远程到服务器进行在线GDB调试手段,包含对WSL的远程调试,可以轻松对照源码进行应用程序调试。


文章目录

    • 一、vscode远程服务器(或虚拟机)
    • 二、vscode远程服务器(WSL)
    • 三、vscode GDB


一、vscode远程服务器(或虚拟机)

1、vcode的本地需要建议安装这几个插件,ssh必需装。
vscode远程到服务器(包括WSL)进行GDB调试_第1张图片

2、创建远程连接到服务器或虚拟机
vscode远程到服务器(包括WSL)进行GDB调试_第2张图片
vscode远程到服务器(包括WSL)进行GDB调试_第3张图片

如果ssh 连接不上,可检查C:\Users\xxx.ssh\config 配置文件是否没有权限,可以尝试删除掉这个文件,再自动创建

连接成功后,就可以打开想要访问的服务器代码路径了
vscode远程到服务器(包括WSL)进行GDB调试_第4张图片


二、vscode远程服务器(WSL)

如果是win10本地安装了WSL,代码放在wsl中,需要通过vscode ssh 到WSL环境中进行代码调试,这种方法对本地调试应用程序代码很便利(前提是wsl环境可以运行你编译的代码)
步骤跟上面类似。
1、安装wsl插件
vscode远程到服务器(包括WSL)进行GDB调试_第5张图片
2、远程连接要选择WSL(而不是ssh)
vscode远程到服务器(包括WSL)进行GDB调试_第6张图片
其他步骤跟上面远程到服务器是一样的了,如果你的代码放在wsl的/mnt/d/xxxx 下,vscode中打开对应绝对路径访问即可,切记不能通过软链接接路径去访问,否则影响GDB调试。


三、vscode GDB

凡是应用程序能在本机或者服务器、虚拟机运行的,采用远程GDB工具调试就太棒了。
1、远程服务器或者WSL需要安装插件GDB debug(别的如C/C++相关插件也建议装上)
vscode远程到服务器(包括WSL)进行GDB调试_第7张图片
2、创建一个gdb的配置文件
vscode远程到服务器(包括WSL)进行GDB调试_第8张图片
3、配置文件填写,很关键,这里提供一个模板
其中,program和args是你需要填写的可执行程序和传参

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动", //配置名称,显示在配置下拉菜单中
            "type": "cppdbg", //配置类型
            "request": "launch", //请求配置类型,可以是启动或者是附加
            "program": "${workspaceFolder}/xxx/xx", //程序可执行文件的完整路径,${workspaceFolder}表示远程连接的初始路径
            "args": ["-i", "ens33", "-m", "-S"], //传递给程序的命令行参数
            "stopAtEntry": false,//可选参数,如果为true,调试程序应该在入口(main)处停止
            "cwd": "${workspaceFolder}", //目标的工作目录
            "environment": [], //表示要预设的环境变量
            "externalConsole": false,//如果为true,则为调试对象启动控制台
            "MIMode": "gdb",//要连接到的控制台启动程序
            "setupCommands": [ //为了安装基础调试程序而执行的一个或多个GDB/LLDB命令
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

4、切记编译应用程序增加调试选项(-g),否则GDB调试时候找不到源码,如下在makefile中添加
在这里插入图片描述
5、启动GDB,你就可以对着代码进行调试了。可以自定义增加断点、单步调试、变量监控、函数栈查看等操作,非常友好。
vscode远程到服务器(包括WSL)进行GDB调试_第9张图片


其他注意:远程机确保支持安装了ssh和gdb等服务和工具

你可能感兴趣的:(工具/软件/解决方案,vscode,ssh,wsl,gdb,调试)