您好,欢迎访问一九零五行业门户网

vscode中怎么远程gdb调试?方法详解

vscode中怎么远程gdb调试?下面本篇文章给大家介绍一下vscode远程gdb调试的方法,希望对大家有所帮助!
最近在同事的安利下,尝试了用 vscode 做 gdb 调试,用完之后,“真香”。
话不多说,本文要实现的是:在 windows 端远程调试 linux 服务器和 arm 嵌入式设备上的 c++ 代码,对 gdb 调试的配置及使用进行一个整理。
1、远程连接首先需要实现远程连接服务器,在插件库中搜索 “remote-ssh”,双击下载安装即可(下图中我已安装好),安装好之后在侧边栏出现远程资源管理器。【推荐学习:vscode教程、编程教学】
点击 + 号,在弹出的命令窗口中输入 ssh 登陆指令,按照提示,输入密码并确认,即可连接成功
2、配置 gdb 环境在服务端创建一个 c++ 代码,这里以《linux之c++获取系统用户名》中的代码为例,很简单
#include <unistd.h>#include <pwd.h>#include <iostream> int main(){ struct passwd* pwd; uid_t userid; userid = getuid(); pwd = getpwuid(userid);  std::cout << "pw_name:" << pwd->pw_name << std::endl; std::cout << "pw_passwd:" << pwd->pw_passwd << std::endl; std::cout << "pw_uid:" << pwd->pw_uid << std::endl; std::cout << "pw_gid:" << pwd->pw_gid << std::endl; std::cout << "pw_gecos:" << pwd->pw_gecos << std::endl; std::cout << "pw_dir:" << pwd->pw_dir << std::endl; std::cout << "pw_shell:" << pwd->pw_shell << std::endl;     return 0;}
编译方法如下,注意一定要加上 -g 指令,否则无法 gdb 调试
g++ -g test.cpp -o test
然后点击 文件-打开文件夹,找到创建的代码路径,确定后,在左侧的资源管理器可以看到代码文件。
第一次运行需要安装 c++ 的扩展,在扩展页面中,安装 c/c++
同时搜索 gdb debug 并安装
安装好之后,点击“运行和调试”按钮,“创建 launch.json” 文件,
选择 c++(gdb/lldb)项,自动生成 launch.json 文件,内容如下
{    // 使用 intellisense 了解相关属性。     // 悬停以查看现有属性的描述。    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387    version: 0.2.0,    configurations: []}
按照下边的内容,对应的修改一下
{    // 使用 intellisense 了解相关属性。     // 悬停以查看现有属性的描述。    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387    version: 0.2.0,    configurations: [        {            name: (gdb) 启动, //配置名称,显示在配置下拉菜单中            type: cppdbg, //配置类型            request: launch, //请求配置类型,可以是启动或者是附加            program: ${workspacefolder}/test, //程序可执行文件的完整路径,${workspacefolder}表示远程连接的初始路径            args: [], //传递给程序的命令行参数            stopatentry: false,//可选参数,如果为true,调试程序应该在入口(main)处停止            cwd: ${workspacefolder}, //目标的工作目录            environment: [], //表示要预设的环境变量            externalconsole: false,//如果为true,则为调试对象启动控制台            mimode: gdb,//要连接到的控制台启动程序            setupcommands: [ //为了安装基础调试程序而执行的一个或多个gdb/lldb命令                {                    description: 为 gdb 启用整齐打印,                    text: -enable-pretty-printing,                    ignorefailures: true                }            ]        }    ]}
至此环境配置完毕
3、gdb 调试方法在源代码中直接点击行数左侧,即可增加断点,设置好断点之后,点击“运行和调试”--(gdb)启动,如下
即可进入调试页面
可以在变量区直接看到变量值,完成调试目的。
常用的调试按键如下
f5    开始调试
f10   单步跳过
f11   单步调试
shift + f11   单步跳出
ctrl + shift + f5  重启调试
shift + f5  停止调试
4、问题汇总如果之前连接过某台设备,后续更换设备是同一个ip,或者说设备重装过系统,但ip没变,重连的时候会报错,原因是主机将服务器 ip 列为known_host
我们找到修改删除该 ip 然后重连即可
更多关于vscode的相关知识,请访问:vscode基础教程!
以上就是vscode中怎么远程gdb调试?方法详解的详细内容。
其它类似信息

推荐信息