VSCode实现GDB图形界面远程调试

如何利用VSCode实现GDB图形界面远程调试

前言

在习惯了集成开发环境的图形界面调试时,首次使用GDB远程调试必定很不习惯,下面讲述如何利用VSCode实现GDB图形界面远程调试

代码在Linux服务器上,而平常都在Windows上使用,那么VSCode需要安装”Remote – SSH”插件,即可实现在 Windows 上进行开发调试。

使用方式

可参考如何进行GDB远程调试,在此基础上操作。

  1. 在 VSCode 打开的工程 .vscode 目录下中新建 launch.json 文件。
{
    // 使用 IntelliSense 了解相关属性。
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动", //配置名称,显示在配置下拉菜单中
            "type": "cppdbg", //配置类型
            "request": "launch", //请求配置类型,可以是启动或者是附加
            "program": "/home/workspace/const-zpc/gdb/bin/x264_demo", //程序可执行文件的完整路径,${workspaceFolder}表示远程连接的初始路径
            "args": ["../test.yuv", "../test.h264"], //传递给程序的命令行参数
            "stopAtEntry": true,//可选参数,如果为true,调试程序应该在入口(main)处停止
            "cwd": "${workspaceFolder}", //目标的工作目录
            "environment": [], //表示要预设的环境变量
            "externalConsole": false,//如果为true,则为调试对象启动控制台
            "MIMode": "gdb",//要连接到的控制台启动程序
            "miDebuggerPath": "/home/workspace/const-zpc/gdb/bin/arm-himix200-linux-gdb",   // 需要自行添加,gdb的路径
            "miDebuggerServerAddress": "192.168.1.102:8005",                                              //自行添加 gdbserver 的ip端口
            "setupCommands": [ //为了安装基础调试程序而执行的一个或多个GDB/LLDB命令
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}
  1. 在目标板上运行需要调试的程序,如
./gdbserver --remote-debug 192.168.1.100:8005 x264_demo ../test.yuv ../test.h264
Process ./x264_demo created; pid = 1775
Listening on port 8005
  1. 在 VScode 上运行 GDB 调试。
    VSCode实现GDB图形界面远程调试
  2. 进入调试界面,可以开发调试,并设置断点
    VSCode实现GDB图形界面远程调试

图形效果

VSCode操作效果如下

VSCode实现GDB图形界面远程调试

Original: https://www.cnblogs.com/const-zpc/p/16451902.html
Author: 大橙子疯
Title: VSCode实现GDB图形界面远程调试

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581942/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • CentOS-7配置fastDFS文件服务器和安装Nginx

    配置步骤实在是很繁琐,听我慢慢道来! 主要是配置管理(tracker)和存储(storage)返回地址样式 –> 域名/组名/磁盘名/目录名/文件名 &#8211…

    Linux 2023年6月13日
    083
  • Shell脚本监控线上端口服务是否正常开启

    前言: 线上服务正常可用是至关重要的,当正在运行的某个端口服务异常停止,我们期望定时脚本可以自动启动,而无需遇到问题再人为的启动。 例如:监听Mysql服务是否正常,我们通常的思路…

    Linux 2023年5月28日
    090
  • 网络扫描(一)

    使用工具:Kali Linux、Metaspoliatable(作为攻击目标) 扫描的4个不同阶段 用ping验证系统是否正在运行。 用Nmap扫描目标主机的端口。 用Nmap脚本…

    Linux 2023年6月14日
    0102
  • Web开发静态资源处理

    Web开发静态资源处理 7.1 静态资源处理 我们要引入前端资源,项目中有许多的静态资源,比如css,js等文件,这个SpringBoot是怎么处理呢? 如果我们是一个web应用,…

    Linux 2023年6月14日
    0104
  • C++的回调函数

    一、简介 本文主要介绍C++中如何使用回调函数。 二、回调函数介绍 回调函数主要在”回”字,和正常的函数调用方式不太一样。正常的函数由开发者自己定义返回类型…

    Linux 2023年6月7日
    086
  • 到底什么是TORCH.NN?

    该教程是在notebook上运行的,而不是脚本,下载notebook文件。 PyTorch提供了设计优雅的模块和类: torch.nn, torch.optim, Dataset,…

    Linux 2023年6月14日
    097
  • 基于Docker的redis集群搭建

    Redis集群官方介绍:http://www.redis.cn/topics/cluster-tutorial.html 基于Docker搭建Redis集群 环境:6个节点,三主三…

    Linux 2023年5月28日
    077
  • CVE-2020-3452漏洞复现

    一、前言 前端时间碰到了该漏洞,记录一下! 二、漏洞介绍 该漏洞为思科ASA设备和FTD设备的未授权任意文件读取漏洞,但仅能读取到 WEB 目录下的文件,影响版本如下: Cisco…

    Linux 2023年6月8日
    087
  • 多个USB转串口设备区分方法

    当计算机或者其他USB主机上使用多个USB转串口设备时,会遇到多个串口无法与具体的串口设备对应起来的问题,包括更换不同USB端口串口序号发生改变,多个设备USB插拔顺序不同导致串口…

    Linux 2023年6月7日
    055
  • Redis和Memcache

    redis 和memcached都支持集群 Redis支持的数据类型要丰富得多,Redis不仅仅支持简单的k/v类型的数据,同时还提供String,List,Set,Hash,So…

    Linux 2023年5月28日
    084
  • 终于知道 Shell 中单引号双引号的区别了

    在编写 shell 脚本或输入命令时,你可能已经注意到大多数命令都可以使用单引号 或双引号, 这不仅适用于 shell 脚本,而且适用于所有 Bash 命令, 但是两种类型的引号以…

    Linux 2023年6月13日
    075
  • linux 上进程被随机kill掉,如何监测和查询;谁杀了我的进程;Who sends a SIGKILL to my process mysteriously on ubuntu server

    今天跑实验,发现进程被随机kill。咨询了服务器上的其他同学,他们说之前也发生过,一直存在。看来可能有可能不是我自己程序的原因,只能自己动手解决了。 在 Who sends a S…

    Linux 2023年6月14日
    091
  • 一文说清OpenCL框架

    背景 Read the fucking official documents! –By 鲁迅 A picture is worth a thousand words. …

    Linux 2023年6月8日
    0100
  • 4.1 打包和压缩的概念和区别

    在讲解具体的归档命令和压缩命令之前,先来了解一下归档和压缩所各自代表的含义。 归档,也称为打包,指的是一个文件或目录的集合,而这个集合被存储在一个文件中。归档文件没有经过压缩,因此…

    Linux 2023年6月7日
    081
  • CentOS7 安装 OpenBLAS

    将仓库clone到本地 git clone https://github.com/xianyi/OpenBLAS.git GitHub 地址:https://github.com/…

    Linux 2023年6月7日
    0139
  • RISC-V靠谱吗?

    向各位行业大佬求教个问题:RISC-V靠谱吗? 事情是这样,昨天公司来了几个人,自称是国内唯几的做RISC-V芯片的公司。我上网查了,确实有这么一家公司,是初创公司。他们拿出PPT…

    Linux 2023年6月6日
    0101
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球