GDB查看内存(x 命令)

时间:2021-03-08 16:39:16

gdb查看内存命令

首先使用gdb [YourFileName].c进入gdb界面

使用examine命令,字母缩写为x查看内存地址的值。x命令语法

x/[number][format] <addr>

其中number,format和u都是可选参数,addr为查看变量的内存地址

number: 一个正整数,表示从当前地址向后显示几个地址的内容。如

x/24 0x400c90

表示查看0x400c90到向后0x400c90+24的内容

format:显示的格式不是查看的格式。和c语言中的格式缩写一样,如

d:整数integer

s:字符串string

c:字符char

u:无符号整数 unsigned integer

o:八进制格式显示变量

x:十六进制格式

f: 浮点数格式float

......

x/24d 0x400c90

显示0x400c90到0x400c90+24的内容,显示的格式为整数d,这个命令常用于检查输出数组的内容

样例:
GDB查看内存(x 命令)

GDB查看内存(x 命令)

如果是查看静态数组,也可以使用print+ <数组首地址>

查看malloc创建的动态数组,使用p命令:

(gdb) p *array@len
$1 = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40}

@左边是数组的地址,@右边是显示数组的长度