10.5 Output Formats
默认情况下,gdb根据变量的数据类型来打印变量,不过有时这并不是你想要的。比如,你想用十六进制来打印一个变量,或者用十进制来打印一个指针,又或者想以字符串的形式来浏览固定内存地址上的数据。在打印变量的时候指定变量的类型,就可以实现以上的想法。
最简单的方式就是在打印的指令之后加上“/”,在“/”之后加上需要打印的数据类型。
支持的类型如下:
符号 | 解释 |
---|---|
x | 16进制打印 |
d | 有符号10进制打印 |
u | 无符号10进制打印 |
o | 8进制打印 |
t | 2进制打印 |
a | 内存地址打印 |
c | 字符打印 |
f | 浮点类型打印 |
s | 字符串打印 |
z | 跟x类似,不同在于高位以0补全 |
r | Print using the ‘raw’ formatting. By default, gdb will use a Python-based pretty-printer, if one is available(see Pretty Printing). This typically results in a higher-level display of the value's contents. The ‘r’ format bypasses any Python pretty-printer which might exist. |