我们可以使用GDB来进行对指定内存地址进行查看。
命令语法: x /Nuf experssion
- N – 需要打印的单元数
- u – 每个单元的大小
u对应的意义:
- f – 数据打印的格式
f对应的意义:
查看指定内存的作用
这样查看指定内存数据有什么作用呢?为什么不直接用变量名呢?
实际上,直接使用变量名打印出的值,默认打印为变量类型的数值。不能*选择打印的进制数和位数。
示例一:判断系统大小端
(gdb) print /a &g_var
$3 = 0x804a024 <g_var>
(gdb) x /4bx 0x804a024
0x804a024 <g_var>: 0x01 0x00 0x00 0x00
(gdb) x /1bx 0x804a024
0x804a024 <g_var>: 0x01