10.5 Output Formats
默認情況下,gdb根據(jù)變量的數(shù)據(jù)類型來打印變量,不過有時這并不是你想要的。比如,你想用十六進制來打印一個變量,或者用十進制來打印一個指針,又或者想以字符串的形式來瀏覽固定內(nèi)存地址上的數(shù)據(jù)。在打印變量的時候指定變量的類型,就可以實現(xiàn)以上的想法。
最簡單的方式就是在打印的指令之后加上“/”,在“/”之后加上需要打印的數(shù)據(jù)類型。
支持的類型如下:
| 符號 | 解釋 |
|---|---|
| x | 16進制打印 |
| d | 有符號10進制打印 |
| u | 無符號10進制打印 |
| o | 8進制打印 |
| t | 2進制打印 |
| a | 內(nèi)存地址打印 |
| 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. |