gdb 以单字节模式打印十六进制数组

dai*_*isy 8 gdb

我正在使用 x/20x 在 gdb 中打印二进制数据

(gdb) x/20x 0x555555558df0
0x555555558df0: 0xfa1e0ff3  0x56415741  0x54415541  0x55fc8941
Run Code Online (Sandbox Code Playgroud)

我想像这样以单字节打印它:

0xf3 0x0f 0x1e 0xfa 0x41 0x57 0x41 0x56 ...
Run Code Online (Sandbox Code Playgroud)

那可能吗?

编辑

我已经按照 j6 建议尝试了 xb 命令,但是如何在一行中打印所有这些命令?

(gdb) x/20xb 0x00007ffff7e84000
0x7ffff7e84000 <opendir>:   0xf3    0x0f    0x1e    0xfa    0x41    0x55    0x41    0x54
0x7ffff7e84008 <opendir+8>: 0x55    0x53    0x48    0x81    0xec    0xa8    0x00    0x00
0x7ffff7e84010 <opendir+16>:    0x00    0x64    0x48    0x8b
Run Code Online (Sandbox Code Playgroud)

j6t*_*j6t 19

尝试 format xb,即格式x(十六进制)、大小b(字节):

(gdb) x /8xb argv
0x7fffffffdc88: 0x20    0xe1    0xff    0xff    0xff    0x7f    0x00    0x00
Run Code Online (Sandbox Code Playgroud)

help x是你的朋友。