当前位置: 首页 > news >正文

【Linux】GDB的安装与使用

安装

安装gdb的具体步骤如下:

1、查看当前gdb安装情况

rpm -qa | grep gdb

如果有,则可以先删除:

rpm -e --nodeps 文件名

如果没有,则进行下一步。

2、下载gdb源码包或者直接apt安装。

apt命令安装:

sudo apt install gdb

源码包安装:

在linux中输入:
wget http://ftp.gnu.org/gnu/gdb/gdb-7.10.1.tar.gz
解压:
tar -zxvf gdb-7.10.1.tar.gz
进入gdb目录:
cd gdb-7.10.1
输入命令:
./configure
make
make install

3、查看是否安装成功

gdb -v

使用

  • 编写一段简单的C语言程序

#include <stdio.h>
int main()
{int i = 0;for(i = 0;i<10;++i){printf("%d ",i);}printf("\n");return 0;
}
  • 生产debug版本的可执行程序:

gcc test.c -o test_g -g

注意:所有的调试代码操作必须在debug版本下执行

使用下面的命令可以查看调试信息:

readelf -S test_g | grep debug

结果如下:

  • 进入gdb

gdb test_g

  • 显示源代码

list或l :显示源代码,每次显示10行
list或l 函数名:列出某个函数的源代码

  • 打断点,查看断点信息

break或b 行号:在某一行设置断点
break或b 函数名:在某个函数开头设置断点
info b:查看断点信息

  • 运行程序

run或r:运行程序

  • 查看变量信息

print或p 变量:打印变量值
print或p &变量:打印变量地址

  • 逐语句执行

step或s:进入函数调用
  • 逐过程执行

next或n:单条执行(不进入函数调用)
  • 删除断点

delete breakpoints或d:删除所有断点
delete breakpoints或d 1:删除序号为n的断点
  • 调用堆栈

breaktrace或bt:查看各级函数调用及参数
  • 跟踪变量

display 变量名:跟踪查看一个变量,每次停下来都显示它的值
undisplay:取消对先前设置的变量的跟踪

  • 跳转至x行

until X行号:跳至X行

  • 跳转至下一个断点

continue或c:从当前位置开始连续而非单步执行程序

  • 将一个指定函数跑完

finish:执行完成一个函数就停止
http://www.lryc.cn/news/40917.html

相关文章:

  • MySQL索引特性
  • Python 面向对象编程——类定义与对象
  • 基于 Apache Flink 的实时计算数据流业务引擎在京东零售的实践和落地
  • 【JavaEE】如何将JavaWeb项目部署到Linux云服务器?
  • Mysql常用命令
  • 【洛谷刷题】蓝桥杯专题突破-深度优先搜索-dfs(4)
  • 在Win10以及SDK为33的环境下——小米便签项目的搭建
  • FPGA纯verilog实现RIFFA的PCIE通信,提供工程源码和软件驱动
  • Linux网络配置
  • 【Java学习笔记】多线程与线程池
  • 尺取法
  • 20.有效的括号
  • 使用QT C++编写一个带有菜单和工具条的文本编辑器
  • 文法和语言的基本知识
  • 学习其他人的代码,成为更好的程序员
  • 新星计划-JAVA学习路线及书籍推荐
  • 【大数据】Hive系列之- Hive-DML 数据操作
  • day2 —— 判断字符串中的字符是否唯一
  • 176万,GPT-4发布了,如何查看OpenAI的下载量?
  • 蓝蓝算法题(一)
  • Python截图自动化工具
  • 网络作业2【计算机网络】
  • 如何给网页加速,如何加速网页速度?
  • linux kernel 5.0 inline hook框架
  • 【Java版oj】day12二进制插入、查找组成一个偶数最接近的两个素数
  • 【24】Verilog进阶 - 序列检测2
  • 详解线段树 ---更新查询
  • 【C语言进阶:刨根究底字符串函数】strncpy、strncat、strncmp函数
  • 计算机面试常见问答题目
  • mac pro m1:安装dump文件内存分析工具——MAT