手把手教你使用VSCode + gdb + gdbserver调试ARM程序

嵌入式软件开发中,最常用的调试方法就是:log打印调试法及在线调试。log打印调试法相关文章:bug解决不了?使用日志法

开发STM32时,我们有IDE可以用,IDE中已经集成有调试器,配合仿真器使用起来很方便。而在Linux应用程序的开发中,常常直接在命令行使用gdb进行调试,或者可以使用VSCode+gdb进行调试。

gdb调试相关文章:GDB调试器原来那么简单

而在嵌入式Linux中,我们如何对开发板上的arm程序进行调试呢?

我们可以使用VSCode+gdb+gdbserver来调试我们arm开发板上的arm程序。下面简单介绍一下使用方法,前提是开发板与PC可以进行无线/有线通信。相关文章:一次关于WiFi 驱动移植的总结复盘

1、准备arm格式的gdb及gdbserver工具

一般交叉编译工具链里都包含有,如果没有则需要自己下载gdb源码进行交叉编译,gdb下载源码下载链接:

http://www.gnu.org/software/gdb/download/

涉及到交叉编译的文章:

干货 | protobuf-c之嵌入式平台使用

实用 | 一个高性能通信库的简单使用分享

这里我使用的是交叉编译工具链里的gdb及gdbserver,如:

2、创建launch.json文件并修改

我们需要创建vscode的launch.json文件并进行一些修改:

其中需要修改"program",这是我们需要调试的程序,即我们交叉编译好的程序。还需要添加如下两个键值对:

"miDebuggerPath:"/opt/rv1126/bin/arm-linux-gnueabihf-gdb"
"miDebuggerServerAddress":"192.168.3.12:9001"

其中,miDebuggerPath表示的是arm格式gdb的路径;miDebuggerServerAddress表示的是我们server端的地址,如:192.168.3.12为开发板的ip,9001为端口号,可自行设置,其范围为:0~655360~1023 的端口一般由系统分配给特定的服务程序。

3、把gdbserver传到开发板上

我们需要交叉编译器路径下的gdbserver传到开发板上,如我这里放到开发板的/usr/bin路径下:

4、启动gdbserver

我们首先需要启动开发板上的gdbserver,pc端才能连接进行调试,格式为:

gdbserver  开发板ip:端口号  要调试的程序

如:

5、启动vscode的gdb进行调试

最后,启动vscode的gdb即可进行调试。如:

以上就是本次的分享。

码字不易,如过文章对你有帮助,麻烦帮忙三连支持,谢谢大家!

温馨提示

(0)

相关推荐

  • VSCode自制的IDE编译多个源文件

    文/Edward 前一篇文章中,我们讲述了如何利用VSCode软件来搭建一个C语言的开发环境,这个C语言的开发环境和我们之前<乐创C语言教程>里面所讲述的有很大差别,这些差别在我看来对于那 ...

  • VsCode配置gdb(首次成功)

    发现Ctrl+F1 首先看一下是不是环境变量被配置好了 接着运行一串命令,建立这样的文件目录 .vscode在工作区的文件夹中创建的三个文件: tasks.json (制作说明) launch.jso ...

  • 迅为i.MX6ULL开发板移植Gdb+Gdbserver调试

    因为有很多小伙伴是从单片机转过来的,用惯了单片机使用JLINk来调试程序,换到Linux非常不习惯.确实是如此,如果能在Linux上能设置断点,单步调试,查看变量,那就再好不过了.那么接下来将教大家怎 ...

  • 手把手教你VSCode搭建STM32开发环境

    干货福利,第一时间送达! 摘要:作为一个51单片机或STM32单片机的使用者,keil一直是我们的必备的一款工具之一.但keil的一些问题也一直存在,当然也有人用其他的,比如STM32CubeIDE. ...

  • 手把手教你如何在电梯中安装无线网桥?电梯监控安装调试注意事项

    前言 大家好,我是薛哥.无线网桥这个产品,我第一次使用的时候是在电梯监控中,那个时候楼高超过100米,而且使用的网络电梯监控,因此首先考虑了电力猫,但是效果不好,最后用的无线网桥,无线网桥如何安装?如 ...

  • 老师傅手把手教你清洗摩托车化油器,全图示

    许多摩友换机油挺勤快,但清洗化油器的重要性却认识不足,有的一年也不清洗一次,导致化油器在经过长时间的使用后,量孔中有许多沉淀和胶质,浮子室掺杂了许多杂质或水份.这就是摩托车难启动或无法启动.油门响应迟 ...

  • 8步手把手教你学会薪酬设计

    上次说到薪酬诊断方法,就像医生看病一样,有问题需要良方下单开药,方能治理企业"顽疾",今天就聊聊如何进行薪酬设计. Part 1薪酬结构定义 广义结构:对统一组织内部的不同职位或者 ...

  • 全图示手把手教你排除宝马F650GS小链异响故障

    作者:摩托中国 崔力根 朋友的一辆宝马650GS摩旅回来发现小链条部位有异响,自己买了小链让我帮他换. 当拆开发动机上盖以后,发现小链并没有拉长,反而是因为液压张紧器失效引起的. 正常的张紧器是两段组 ...

  • 手把手教你安装踏板摩托车普利珠(全图示)

    作者: 摩托中国 高泽睿 取下螺丝,配合利用橡胶锤或木锤,把边盖取下,不用怕,这不算开发动机. 夹持器 使用夹持器,相当于我常说的卡钳,使用这种夹持器可避免卡钳损坏固定盘上叶片的可能,结合使用17的套 ...

  • 手把手教你“五步”测量摩托车缸压

    作者:摩托中国 缸压表 有许多小伙伴不知道如何使用气缸压力表测量缸压,今天我就手把手的教你一下,共分五步,按步走就可以了. 第一步:发动机运转至正常温度,冷却液的温度85-95度. 第二步:拆除全部火 ...

  • 手把手教你在家种植生姜

    生姜,是厨房中不可缺少的一种调味果蔬,但由于近年来物价不断上涨,生姜的价格也水涨船高(小编表示都快吃不起了~),既然如此何不自己在家种植,自给自足丰衣足食.那么,本文就来教大家怎样在家(阳台也可以哦~ ...