【工具】-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

相关内容

热门资讯

第8分钟体悟!hhpoker辅... 第8分钟体悟!hhpoker辅助软件,we poker辅助器v3.3,必赢教程(有挂详情)-哔哩哔哩...
第九分钟了解“凑一桌游戏辅助器... 《第九分钟了解“凑一桌游戏辅助器”详细透视开挂辅助攻略-哔哩哔哩》 凑一桌游戏辅助器软件透明挂更新公...
第1分钟了解(云阙)外挂透明挂... 第1分钟了解(云阙)外挂透明挂辅助挂(辅助挂)wpk教程(2023已更新)(哔哩哔哩)是一款可以让一...
第3分钟体悟!德扑圈有透视吗,... 第3分钟体悟!德扑圈有透视吗,wpk透视辅助下载,总结教程(有挂总结)-哔哩哔哩1、玩家可以在德扑圈...
1分钟了解“皮皮辅助软件演示”... 1分钟了解“皮皮辅助软件演示”详细透视开挂辅助器-哔哩哔哩;1、完成皮皮辅助软件演示的残局,帮助玩家...
第5分钟了解(Wepokeap... 第5分钟了解(Wepokeapp)外挂辅助挂(辅助挂)详细教程(2022已更新)(哔哩哔哩);Wep...
8分钟发现!wepoker免费... 8分钟发现!wepoker免费透视脚本,拱趴大菠萝自动计算机器人,高科技教程(有挂教学)-哔哩哔哩1...
第4分钟了解“钱塘十三水辅助”... 第4分钟了解“钱塘十三水辅助”详细透视开挂辅助神器-哔哩哔哩;钱塘十三水辅助简单的灵活控制,仅凭一根...
五分钟了解(微扑克辅助挂)外挂... 五分钟了解(微扑克辅助挂)外挂辅助下载(辅助挂)第三方教程(2026已更新)(哔哩哔哩);超受欢迎的...
一分钟神器!aapoker有脚... 一分钟神器!aapoker有脚本吗,wepoker破解器激活码,大神讲解(果真有挂)-哔哩哔哩1、在...