0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

linux编程GDB调试功能

汽车玩家 来源:Hu先生Linux后台开发 作者:Hu先生Linux后台开发 2020-05-05 23:49 次阅读

GDB是一套字符界面的程序集,可以用它在linux上调试C和C++程序,它提供了以下的功能:

1 在程序中设置断点,当程序运行到断点处暂停

2 显示变量的值,可以打印或者监视某个变量,将某个变量的值显示出来

3 单步执行

4 运行时修改变量的值

5 跟踪路径

6 线程切换

等等

下面以以下程序为例

linux编程GDB调试功能

linux编程GDB调试功能

当我们要使用GDB进行程序的调试时,在用GCC编译时需要加上-g,如下:

GDB之所以能够进行程序的调试也是在于进行编译时的-g选项,当设置了这个选项的时候,GCC会向程序中塞入一下信息,作为GDB调试时的铺垫

,然后GDB才能够利用这些铺垫和信息与程序交互。

有两种方式可以进入GDB,一种就是直接在命令行上输入gdb,然后再在gdb中用file命令加载要调试的程序:

linux编程GDB调试功能

另一种就是,直接在命令行上使用:gdb 程序名

linux编程GDB调试功能

这两种方法都是要在GDB中加载已经做了铺垫的将被调试的程序。

进行GDB并且加载了程序后,我们就可以进行一系列的调试操作了:

1 用 "set args 参数值1 参数值2...."来设置输入参数

2用“list 开始的行号"来打印内容

linux编程GDB调试功能

list 还可以选取区间来打印代码:

linux编程GDB调试功能

3.用 ”b 位置"设置断点

4.用 “run 参数”来运行程序

linux编程GDB调试功能

5.用"display 变量名“来显示变量

6.用”c"来继续运行程序

linux编程GDB调试功能

7.用set命令来改变变量的值

8用q命令来退出GDB

linux编程GDB调试功能

9 用p命令来打印变量的值

10 设置条件断点

11 用delete删除断点

linux编程GDB调试功能

12 用info break 来显示断点信息

linux编程GDB调试功能

13.用bt来显示函数调用路径

linux编程GDB调试功能

14用whatis或者ptype来显示变量的类型

linux编程GDB调试功能

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10986

    浏览量

    206720
  • gdb
    gdb
    +关注

    关注

    0

    文章

    60

    浏览量

    13157
收藏 人收藏

    评论

    相关推荐

    如何使用linuxgdb调试python程序

    如何使用linuxgdb调试python程序  在Linux下,可以使用GDB(GNU调试
    的头像 发表于 01-31 10:41 433次阅读

    linuxgdb调试遇到函数调用怎么办?

    linuxgdb调试遇到函数调用怎么办? 在Linux上使用GDB调试时,遇到函数调用是一个常
    的头像 发表于 01-31 10:33 192次阅读

    简述GDB调试器提供的基本功能

    GDB是一个功能强大的源代码级调试工具,它提供了多种基本功能,帮助程序员** **更好地理解程序的运行机制和定位问题** **。
    的头像 发表于 01-28 17:44 737次阅读

    TLT507-GDB程序调试方法说明

    TLT507-GDB程序调试方法说明
    的头像 发表于 01-26 10:11 510次阅读
    TLT507-<b class='flag-5'>GDB</b>程序<b class='flag-5'>调试</b>方法说明

    如何使用GDB调试工具

    在对应程序目录中使用下面的命令 gdb test 2、调试已经开始运行的程序进程 调试已经开始运行的程序进程,首先先用top命令查看运行的程序进程的pid如下: 比如我要加载的程序
    的头像 发表于 11-09 17:17 332次阅读
    如何使用<b class='flag-5'>GDB</b><b class='flag-5'>调试</b>工具

    GDB调试工具的原理

    一、GDB调试工具的原理 1.1 未执行进程调试 启用gdb调试运行gdb ./test的时候,
    的头像 发表于 11-09 17:04 318次阅读
    <b class='flag-5'>GDB</b><b class='flag-5'>调试</b>工具的原理

    什么是GDBGDB的基本功能和命令总结

    GDB是嵌入式软件工程师调试用的比较多的一种工具,今天就来简单分享一下GDB相关命令。
    的头像 发表于 11-07 09:15 1618次阅读

    gdb动态调试演示

    今天要分享给大家的是gdb动态调试( 动态调试就是在不终止正在运行的进程的情况下,来对这个正在运行的进程进行调试,我一般习惯称之为在线调试
    的头像 发表于 11-01 15:28 417次阅读
    <b class='flag-5'>gdb</b>动态<b class='flag-5'>调试</b>演示

    GDB调试里怎么设置断点

    本篇讲解使用GDB调试Linux应用程序,以下以 hellowld.c 为例介绍 GDB调试入门: 设置断点   disable    
    的头像 发表于 10-04 16:10 559次阅读

    Linux系统中如何进行GDB调试

    -g 启动调试 $ gdb helloWorldGNU gdb (GDB) Red Hat Enterprise Linux 8.2-12
    的头像 发表于 10-04 15:52 214次阅读

    Linux系统GDB单步调试

    单步调试    gdb helloworld                         (gdb) break helloworld.c:18            (gdb
    的头像 发表于 09-26 16:22 310次阅读

    在板子中调试GDB的方法

    在板子中调试 上面的方法是直接在 ubuntu 调试源代码,只能查看源代码的错误,如果你想要你的应用程序在板子中运行,想打出它在板子上运行的 bug,就要采用下面的方法。 一般的桌面 Linux
    的头像 发表于 07-27 16:37 755次阅读
    在板子中<b class='flag-5'>调试</b><b class='flag-5'>GDB</b>的方法

    在ubuntu中调试GDB

    的 gcc 编译器即可,注意需要加 -g 选项,才能使用 gdb 调试 arm-linux-gnueabihf-gcc gdbtest .c -o gdbtest -g //编译测试程序,注意-g 选项
    的头像 发表于 07-27 16:31 638次阅读
    在ubuntu中<b class='flag-5'>调试</b><b class='flag-5'>GDB</b>

    嵌入式Linux GDB是什么

    函数、设置断点、查看变量等等,它是 UNIX/LINUX 操作系统下强大的程序调试工具。 gdb 支持多种语言
    的头像 发表于 07-27 16:29 452次阅读
    嵌入式<b class='flag-5'>Linux</b> <b class='flag-5'>GDB</b>是什么

    使用GDB调试Linux应用程序

    本篇讲解使用GDB调试Linux应用程序,以下以 `hellowld.c` 为例介绍 GDB调试入门。
    发表于 06-27 15:48 336次阅读