美文网首页
GDB查看内存、函数栈、寄存器

GDB查看内存、函数栈、寄存器

作者: spyder_men | 来源:发表于2019-06-13 14:56 被阅读0次

x/ (n,f,u为可选参数)

n: 需要显示的内存单元个数,也就是从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义

f:显示格式
x(hex) 按十六进制格式显示变量。
d(decimal) 按十进制格式显示变量。
u(unsigned decimal) 按十进制格式显示无符号整型。
o(octal) 按八进制格式显示变量。
t(binary) 按二进制格式显示变量。
a(address) 按十六进制格式显示变量。
c(char) 按字符格式显示变量。
f(float) 按浮点数格式显示变量

u:每个单元的大小,按字节数来计算。默认是4 bytes。GDB会从指定内存地址开始读取指定字节,并把其当作一个值取出来,并使用格式f来显示
b:1 byte h:2 bytes w:4 bytes g:8 bytes

比如x/3uh 0x54320表示从内存地址0x54320读取内容,h表示以双字节为单位,3表示输出3个单位,u表示按照十六进制显示。

查看当前程序栈的内容:x/10x $sp-->打印stack的前10个元素

查看当前程序栈的信息: info frame
查看当前程序栈的参数:info args
查看当前程序栈的局部变量: info locals
查看当前寄存器的值:info registers(不包括浮点寄存器) info all-registers(包括浮点寄存器)
查看当前栈帧中的异常处理器:info catch

相关文章

  • GDB查看内存、函数栈、寄存器

    x/ (n,f,u为可选参数) n: 需要显示的内存单元个数,也就是从当前地址向后显示几个内存单元的内容,一个内存...

  • 我的逆向工程之路 - 汇编基础

    寄存器、内存、和栈 寄存器: 内存: 栈: 实用寄存器 详解: 指令解读 预备知识: { }表示可选项, [ ]...

  • 各种linux命令(pwn)

    (gdb)bt //查看函数堆栈 (gdb)info break ...

  • 缓冲区溢出攻击

    调用函数(caller)和被调函数(callee)在栈中的内存变化。 寄存器esp,eip,ebp的基本作用。 什...

  • OC内存管理-内存分区、TaggedPointer

    一、内存布局 1.1 内存分区 栈区:存储函数、方法、指针、局部变量、参数等(访问速度快,通过寄存器访问),当局部...

  • ARM 读书笔记

    寄存器 内存 和 栈R0-R3 传递参数 与返回值R7 帧指针,指向母函数 与被调用字函数在栈中的交界...

  • CPP_ODebugger

    实现功能:1、建立调试机制(创建和附加)2、显示和修改汇编代码3、查看和修改内存数据,查看栈4、查看和修改寄存器5...

  • 理解函数的调用过程

    一、函数的范围 ebp寄存器指向函数的栈底,esp寄存器指向函数的栈顶,共同划分了函数的活动范围。减小esp的值相...

  • Pwnable.kr系列--bof(3)

    明显可以看出gets(overflowme)中存在栈溢出,用gdb调试一下 gdb .bof 在main函数处设个...

  • 关于Java变量在内存中的存储问题

    有这么几种存储位置,速度逐级递减: 寄存器 栈内存 堆内存 静态存储 常量存储 寄存器是最快的保存区域,因为它位于...

网友评论

      本文标题:GDB查看内存、函数栈、寄存器

      本文链接:https://www.haomeiwen.com/subject/zyhsfctx.html