GDB检查命令,目标地址的多个单元

时间:2013-01-06 21:09:10

标签: gdb

我正在研究这本书"黑客攻击艺术第2版"靠我自己并且已经达到了第一组障碍。

在GDB中,我可以理解这段代码:

x/x $rip

将以十六进制检查寄存器$ rip和输出。

但是这段代码做了什么:

x/2x $rip

这本书说它正在检查目标地址的多个单位。但这是否意味着它会在接下来的2次变化中显示$ rip的值。或者它意味着什么呢?

Columbo会说的另一个问题。在我调用了check命令之后,我得到了:

0x100000f00 <main+8> 0x00fc45c7

main + 8是什么意思?

1 个答案:

答案 0 :(得分:5)

  

x/x $rip将以十六进制检查寄存器$ rip和输出。

这是不正确的:它将检查$rip指向的内存。如果您想检查$rip本身,请使用print/x $rip

  

但是这段代码做了什么:x/2x $rip

它检查$rip指向的两个记忆词。

  

main+8意味着什么

这意味着您正在查看包含说明的内存,距8

开头偏移main()