我想在gdb
中打印十进制值1010,
但它会打印结果,因为它是我最后给出的。
(gdb)
(gdb) p/d 1010
$1 = 1010
(gdb)
答案 0 :(得分:3)
GDB的p
[rint
]命令打印您提供的表达式的值,该值以正在调试的程序的源语言进行解释。在C中,您的1010
是十进制文字,而不是二进制文字,因此您的基本问题是您正在给GDB输入错误。
标准C不支持二进制文字,但GNU C支持它们作为扩展名。格式是以0b
或0B
开头的二进制数字字符串,您可能会认为它类似于十六进制文字的标准格式。 GDB认可这种形式。
由于print
的数字的默认输出基数是十进制的,因此您无需指定输出格式。只需使用命令
p 0b1010