gdb:未定义的输出格式“z”

时间:2015-12-13 18:40:24

标签: c linux gcc gdb debian

我想在BeagleBone Black Board上使用gdb调试我的代码。我想在gdb中将我的变量打印为十六进制,为了做到这一点,我一直使用p/z作为gdb命令。但是当我在BeagleBlack的gdb中使用这个命令时,我得到了:

Undefined output format "z".

有什么方法可以让它发挥作用?它与gdb版本有关吗?我的操作系统是Debian,我的gdb版本是7.4.1-debian,当我尝试安装新包时,它说:gdb is already the newest version

1 个答案:

答案 0 :(得分:0)

最近添加了打印格式z(我认为,基于this patch,它是7.6或7.7)。由于您使用的是旧版本的gdb,因此它无法识别z选项。您可以改为使用p/x

差异between x and z is the leading zeros

  

ž       与'x'格式一样,该值被视为一个整数并打印为十六进制,但打印前导零以填充值   到整数类型的大小。

我系统上的GDB是版本7.9,它确实识别p/z。因此,您可以升级GDB或使用p/x