【工具】-gdb-学习笔记
创始人
2024-11-13 19:11:41
0

准备工作

  • 程序的发布方式有两种,debug模式和release模式

  • Linux gcc/g++出来的二进制程序,默认是release模式

  • 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项,发布成debug模式

如下源代码经过编译:

   #include     int SumAdd(int x)  {      int i=1;      int sum=0;      for(i=1;i<=x;i++)      {          sum+=i;     }     return sum; }  int main() {     printf("%d \n",SumAdd(100));     return 0; }                       

命令:gcc -o test test.c -g
在这里插入图片描述

gdb调试

命令:gdb test

在这里插入图片描述

l或者l函数名查看源代码(默认显示10行)

在这里插入图片描述

r或者run运行程序,没有设置断点,会运行完。

在这里插入图片描述

b或者break行号、地址、函数名设置断点;info b 显示所有断点信息

在这里插入图片描述

n或者next单步执行(enter重复执行上个命令)

这里可以看到寄存器区域(rbp,rsp,rip)、汇编代码、源代码、栈区域。
在这里插入图片描述在这里插入图片描述

stack 数量,查看栈空间

在这里插入图片描述

s或者step,进入函数单步调用

在这里插入图片描述

finish跳出当前函数调用,对于嵌套比较多的系统函数调用非常有用

可以看到是进入了上一个函数,main函数,等待下一步命令
在这里插入图片描述

p+变量名打印变量值

在这里插入图片描述

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

在这里插入图片描述

delete breakpoints:删除所有断点;delete breakpoints n:删除序号为n的断点;disable breakpoints:禁用断点;enable breakpoints:启用断点
display 变量名:跟踪查看一个变量,每次停下来都显示它的值;undisplay:取消对先前设置的那些变量的跟踪
x *n/$rip :查看内存值
set :设置变量
until X(行号):跳至X行
q或quit:退出gdb

相关内容

热门资讯

微扑克游戏辅助器(微扑克)微扑... 微扑克游戏辅助器(微扑克)微扑克发牌规律性(透视)总是是真的有挂(详细辅助新2025版);在进入微扑...
透视线上(德州wepower)... 透视线上(德州wepower)德扑起手牌胜率图(透视)竟然是有挂(详细辅助揭秘攻略)1、透视线上(德...
微扑克wpk透视辅助(微扑克)... 微扑克wpk透视辅助(微扑克)微扑克辅助哪里有卖(透视)一贯是真的有挂(详细辅助2025新版教程)1...
透视攻略(德州俱乐部)德扑之星... 透视攻略(德州俱乐部)德扑之星作弊(透视)总是真的有挂(详细辅助透牌教程)1、操作简单,无需注册,只...
透视ai代打(云扑克德州)智星... 透视ai代打(云扑克德州)智星德州菠萝外挂(透视)竟然真的是有挂(详细辅助插件教程)1、上手简单,内...
透视教程(线上德州)智星德州菠... 透视教程(线上德州)智星德州菠萝开挂(透视)都是是有挂(详细辅助解密教程)1、智星德州菠萝开挂透视辅...
透视代打(德州wepower)... 透视代打(德州wepower)德扑ai智能(透视)一直是有挂(详细辅助AI教程)1、任何德扑ai智能...
透视能赢(wepower德州)... 透视能赢(wepower德州)德州ai人工智能(透视)都是真的是有挂(详细辅助切实教程);1、德州a...
透视系统(德州之星)智星德州菠... 透视系统(德州之星)智星德州菠萝(透视)竟然真的是有挂(详细辅助教你攻略);1、下载好智星德州菠萝辅...
透视计算(wepower德州)... 透视计算(wepower德州)德州ai辅助有用(透视)总是是有挂(详细辅助必备教程)1、德州ai辅助...