gdb:在没有源的情况下确定寄存器内容

  • 本文关键字:寄存器 情况下 gdb gdb
  • 更新时间 :
  • 英文 :


通过浏览核心文件,我可以将其缩小到特定的故障点并检查寄存器。通常寄存器值为null,这很好地表明传递了null值并导致了问题。

问题是,如果有一个有效的地址,会发生什么?

该地址的内容可以在没有来源的情况下确定吗?

如果没有源,是否可以确定地址是否指向某个结构?如果是,您是否可以确定该结构的所有属性?

是否可以在没有源的情况下确定该地址的内容?

当然。假设$rax的值为0x12345678。您可以使用(gdb) x/gx $rax检查该地址处的值

如果没有源,是否可以确定地址是否指向结构

一般情况下:否。如果结构需要某些对齐,并且地址没有正确对齐,则可以确定地址是指向结构的而不是。或者,如果地址指向例如页面的最后4个字节,并且下一个页面没有被映射,并且结构大小大于4个字节。

如果是,你能确定结构的所有属性吗?

如果您确实相信地址指向一个结构,则可以检查其内容。关于如何在GDB中方便地做到这一点,请参阅以下答案。

相关内容

最新更新