0
在我的程序中,p_meta->padding
是一个char数组。当我在gdb中打印时,结果如下:什么是gdb打印命令的默认格式
(gdb) p p_meta->padding
$18 = "\037\000\000\000\332\375\024e\203\000\000\000\am\333p", '\000' <repeats 215 times>
看起来它使用的是八进制格式。但我不明白\024e
或\am\333p
是什么意思。当我使用一个明确的格式,我得到:
(gdb) p /o p_meta->padding
$19 = {037, 0, 0, 0, 0332, 0375, 024, 0145, 0203, 0, 0, 0, 07, 0155, 0333, 0160, 0 <repeats 216 times>}
(gdb) p /x p_meta->padding
$20 = {0x1f, 0x0, 0x0, 0x0, 0xda, 0xfd, 0x14, 0x65, 0x83, 0x0, 0x0, 0x0, 0x7, 0x6d, 0xdb, 0x70,
0x0 <repeats 216 times>}
GDB的版本是:
# gdb -v
GNU gdb (GDB) Fedora 7.12-24.fc25
感谢您的帮助!
默认情况下,GDB根据其数据类型打印一个值。 – Gaurav
我猜数组包含垃圾值。 – Gaurav
@GauravPathak是的,数组由随机字符填充。 – wangt0907