【问题标题】:gdb : determining register content without source.gdb:确定没有来源的寄存器内容。
【发布时间】:2018-10-30 13:39:56
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: gdb


    【解决方案1】:

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

    当然。假设$rax 的值为0x12345678。您可以使用(gdb) x/gx $rax

    检查该地址的值

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

    一般来说:没有。如果结构需要一定的对齐,并且地址未正确对齐,您可以确定该地址 指向结构。或者如果地址指向例如一页的最后4个字节,下一页没有映射进去,结构体大小大于4个字节。

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

    如果您确实认为该地址指向一个结构,则可以检查其内容。请参阅this answer,了解如何在 GDB 中方便地做到这一点。

    【讨论】:

      猜你喜欢
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      • 2023-04-02
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      • 2013-03-21
      相关资源
      最近更新 更多