VsCode中配置GDB调试

这篇具有很好参考价值的文章主要介绍了VsCode中配置GDB调试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.工程创建

我创建的工程如下所示

main.c:需要调试的主函数

opera.c:创建了一个库函数

opera.h:调用库函数的头文件

Makefile:编译脚本

.vscode:里面放GDB调试配置文件,这个文件夹前面有个点

vscode gdb,vscode,ide,编辑器

具体文件如下:

main.c

#include <stdio.h>
#include "opera.h"

int main()
{
    int a = 20;
    int b = 15;
    int result;

    result = add_t(a, b);
    printf("add_t 20 15 : result = %d\n", result);

    result = sub_t(a, b);
    printf("sub_t 20 15 : result = %d\n", result);

    result = mult_t(a, b);
    printf("mult_t 20 15 : result = %d\n", result);

    return 0;
}

 opera.c

#include "opera.h"

int add_t(int a, int b)
{
    return a + b;
}

int sub_t(int a, int b)
{
    return a - b;
}

int mult_t(int a, int b)
{
    return a * b;
}

opera.h

#ifndef __OP_H_
#define __OP_H_

int add_t(int a, int b);
int sub_t(int a, int b);
int mult_t(int a, int b);

#endif 

Makefile

CC = gcc 

FILENAME = test  #编译完生成的文件

all:$(FILENAME)

$(FILENAME):main.o opera.o
	$(CC) main.o opera.o -o $(FILENAME)
	@rm *.o

main.o:main.c
	@$(CC) -c -g main.c

opera.o:opera.c
	@$(CC) -c -g opera.c

clean:
	rm -rf $(FILENAME)

运行make进行编译,生成test可执行文件

gcc 编译时要加上 -g 选项才能开启GDB调试

2.GDB配置

首先在.vscode文件夹里创建一个launch.json文件,此文件用于配置vscode的GDB调试

vscode gdb,vscode,ide,编辑器

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",                     //显示在“调试启动配置”下拉列表中的易于阅读的名称
            "type": "cppdbg",                           //用于此启动配置的调试器类型,此处表示C/C++代码
            "request": "launch",                        //此启动配置的请求类型。"launch" 表示启动一个新的程序,"attach" 表示连接到一个已经运行的程序。
            "program": "${workspaceFolder}/test",       //你的程序路径,${workspaceFolder}表示当前路径,就是你整个工程下
            "args": [],                                 //程序入口参数
            "stopAtEntry": true,                        //程序启动时立即中断,设置后会停在主函数处
            "cwd": "${workspaceFolder}",                //用于查找依赖项和其他文件的当前工作目录
            "environment": [],                          //程序运行时的环境变量
            "externalConsole": false,                   //控制台设置
            "MIMode": "gdb",                            //指定了调试器的模式
            // "miDebuggerArgs": "C:/msys64/mingw64/bin/gdb", //GDB的路径
            "setupCommands": [                          //gdb 启动后要执行的一些命令
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            //"preLaunchTask": "make"  // 在启动前执行的任务,通常是构建任务,需要新建tasks.json文件,一般不使用,自己编译就行
        }
    ]
}

这里需要注意下 "cwd": "${workspaceFolder}"这个参数,一般我们在编译程序的时候使用了-g参数就会包含进源文件的路径,此处源文件的路径就是当前目录。如果说你把当前路径的源文件比如main.c移动到了其他的路径,那么GDB调试时就会找不到这个文件,此时可以配置下 "cwd"这个参数,把新的路径给添加进来,那么GDB在当前路径找不到该文件时会去cwd路径找对应文件。

"miDebuggerArgs"这个参数用于配置GDB调试器的路径,如果说你在环境变量中已经配置了路径,那么此处不需要进行配置。

配置完后按F5或者左边点击调试按钮开启GDB调试

vscode gdb,vscode,ide,编辑器文章来源地址https://www.toymoban.com/news/detail-852517.html

 3.远程GDB调试

到了这里,关于VsCode中配置GDB调试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VSCode+GDB+Qemu调试ARM64 linux内核

    俗话说,工欲善其事 必先利其器。linux kernel是一个非常复杂的系统,初学者会很难入门。 如果有一个方便的调试环境,学习效率至少能有5-10倍的提升。 为了学习linux内核,通常有这两个需要 可以摆脱硬件,方便的编译和运行linux 可以使用图形化的工具来调试linux 笔者使用

    2024年02月08日
    浏览(37)
  • VSCode gdb 调试 qemu u-boot 的方法

    最近使用 VS Code GDB 调试 qemu,有了一点收获,u-boot 编译后生成了一个 elf 文件:u-boot,是否也可以调试一下? 为何需要 VS Code GDB 调试,直接 gdb 调试不就可以了吗?答案就是:VS Code 可以界面调试,命令行调试会枯燥很多 使用 qemu,就是不需要板子 win10 64位 VMware Workstation P

    2024年02月11日
    浏览(39)
  • Linux开发工具大全 - 软件包管理器yum | vim编辑器 | gcc/g++编译器 | 自动化构建工具Make/Makefile | gdb调试工具

    目录 Ⅰ.  Linux 软件包管理器 yum 一、yum 背景知识 二、yum 的基本使用 1、查看软件包 2、软件包名称构成 3、安装软件 4、卸载软件 Ⅱ.vim编辑器  一、认识vim 1、vim概念  2、模式及其切换  二、vim使用 1、vim的指令(重要)  命令模式 插入模式 底行模式 2、vim配置 Ⅲ.gcc/g++编

    2024年02月05日
    浏览(46)
  • [linux初阶][vim-gcc-gdb] OneCharter: vim编辑器

    目录 一.vim编辑器基础 ①.vim的语法 ②vim的三种模式 ③三种模式的基本切换  ④各个模式下的一些操作  二.配置vim环境  ①手动配置(不推荐)  ②自动配置(推荐) vim是vi的升级版,包含了更加丰富的功能. vim [文件名] 命令模式 插入模式   底行模式  如图: 命令模式: shift + 4: 光

    2024年04月17日
    浏览(39)
  • Vivado关联Vscode编辑器的各种配置

    1.在vivado工程界面Tool菜单中点击Settings 2.在Text Editor项目栏中打开Current Editor下拉框更换默认的文本编辑器,常用的有Notepad++。这里我们需要更改为VSCode,此时点击下拉框最下方的Custom Editor 3.Editor输入框中输入  C:/Program Files/Microsoft VS Code/Code.exe -g [file name]:[line number]前面加粗部

    2024年02月16日
    浏览(48)
  • Vscode编辑器C/C++环境配置

            VSCode(全称:Visual Studio Code)是一款由微软开发且跨平台的免费源代码编辑器。该软件支持语法高亮、代码自动补全(又称 IntelliSense)、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。用户可以更改主题和键盘快捷方式实现个性化设置,也

    2024年02月08日
    浏览(52)
  • git实战—Gerrit配置SSH key & 下载代码到本地 & 使用VScode编辑器编辑提交代码——2023.07

    centos7 部署Gerrit Windows10 部署gitbash 2.41 版本 首先在虚拟机上搭建Gerrit服务,在Windows上部署好gitbash;其次,配置 publishkey 连接Gerrit仓库;最后使用git clone下载代码到本地,再使用VScode编辑提交代码带仓库。 当然,直接使用VScode连接Gerrit也是可以的,但由于VScode终端中的命令不

    2024年02月09日
    浏览(77)
  • vscode报错“Unable to start debugging”“GDB Failed with message:”

    1、正常打开文件夹,新建一个cpp;  2、配置编译器,ctrl shift p,C/C++,edit configration ui 3、运行,启动调试,弹出任务,默认选择第一个, 直接报错“Unable to start debugging”“GDB Failed with message:”  此时,有怀疑路径中文的,怀疑项目,千奇百怪,本质原因是第3步选择,编译

    2024年02月16日
    浏览(43)
  • VSCode配置C/C++环境,编辑(VSCode)+ 编译(MinGW->GCC)+ 调试(MinGW->GBD)

      直接去官网下载并安装即可:https://code.visualstudio.com/。注意:VSCode只是编辑器,可以看代码,编辑代码,但不能编译代码。   如果说VSCode可以实现代码编辑,MinGW则可以实现代码编译和调试,其中编译功能是通过MinGW中的GCC实现的(生成一个.exe文件),调试功能则是通

    2024年02月07日
    浏览(41)
  • 【1000个GDB技巧之】如何在远端服务器打开通过vscode动态观测Linux内核实战篇?

    (也可以直接在vscode中配置,忽略) 主要步骤:在~/.ssh/config中添加服务端的host,以便vscode的remote中能够登录 详细配置过程参考兄弟篇文章:ssh config如何配置用host名替代root@1.1.1.1 初次使用remote功能,需要在远端安装一个ssh的代理,需要耗费一定时间。 添加一个调试配置文

    2024年04月16日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包