如何切换gdb字节输出分组

tna*_*a0y 2 linux memory debugging assembly gdb

当我尝试查看堆栈空间内的内容时,我使用以下命令:

x/100x $sp
Run Code Online (Sandbox Code Playgroud)

但是,有时输出的格式如下,按 4 个字节分组:

0xbffff0ac: 0x00000000  0xb7fbc000  0xb7fbc000  0xbffff4e8
...
Run Code Online (Sandbox Code Playgroud)

虽然有时我会得到这个:

0xbffff0ac: 00 00 00 00 00 c0 fb b7 00 c0 fb b7 e8 f4 ff bf
Run Code Online (Sandbox Code Playgroud)

但我无法确定如何在这些格式之间切换以及 gdb 如何决定用于输出的格式。有什么建议?

Emp*_*ian 5

有时输出的格式是这样的
但是,有时输出的格式是这样的

这是因为该x命令会记住您上次使用的大小。

如果您想要特定尺寸的x,只需直接指定它:

(gdb) x/100wx $sp
Run Code Online (Sandbox Code Playgroud)

文档