本节介绍一下如何使用GDB查看指定内存中的内容。
1. print命令查看数组内容
我们可以使用print命令来查看数组内容,格式如下:
# p *array@len
其中,array是数组第一个元素的地址,可以使用具体的地址或者数组名;len为要显示的元素个数。
参看如下示例:
编译调试:
2. examine命令查看指定地址内容
使用examine命令(缩写为x)可以查看指定内存地址的值。语法如下:
其中:
1) number为一个正整数,表示从当前地址向后显示几个地址的内容.
2) format表示显示的格式。如果地址所指的是字符串,那么格式可以是s,如果地址是指令地址,那么格式可以是i。
3) unit表示一个地址单元长度
-
b: 表示单字节
-
h: 表示双字节
-
w: 表示四字节
-
g: 表示八字节
参看如下示例:
编译调试:
注: float占用字节数是4。在使用x命令时,字节数需要指定正确,否则可能造成内存混乱,从而出现打印错误。
[参看]
-
gdb调试进阶之查看指定内存中的内容
-
GDB查看内存