如何在寄存器中的特定偏移处打印字符?

How to print a character at a particular offset within a register?

我只是想知道 Unix gdb 调试器中是否有一个命令可以在寄存器中的特定偏移量处打印单个字符。

例如,

如果我想知道 0x9(%rdi) 中字符串的什么字符,我将如何显示它?

会不会类似于x/c $rdi,9

谢谢

我想您不需要在寄存器“内”的偏移量,而是需要读取寄存器指向的具有给定偏移量的内存。这可以通过以下方式完成:

x/c $rdi+9

一般来说,x命令的地址只是一个带有数值的表达式。这里的$rdi就是寄存器RDI的值,加上常量9