【问题标题】:how to find the variable that is holding given address from corefile如何从corefile中找到持有给定地址的变量
【发布时间】:2020-03-29 04:57:38
【问题描述】:

我正在调试内存损坏问题,我有核心文件并且知道损坏的地址。该地址不应该在初始化后由任何代码写入,但某些代码正在破坏它。 当我 grep 核心文件时,我看到一些引用(可能的罪魁祸首)指向这个。 现在我需要将罪魁祸首地址映射到源代码,知道如何使用核心文件中的 GDB 找到给定地址的变量名吗? 问题不可重现,因此这是我唯一的线索。

【问题讨论】:

  • 这个问题不太清楚。请用代码或伪代码支持它,使其更易于理解。我相信包含任何错误消息也会有所帮助。

标签: gdb core


【解决方案1】:

现在我需要将罪魁祸首地址映射到源代码

并非所有地址都映射到源代码。全局和静态变量地址可以映射到源,但堆和栈地址不能。

知道如何使用核心文件中的 GDB 找到给定地址的变量名吗?

对于全局或静态地址,请执行以下操作:

(gdb) info symbol 0x12341234

【讨论】:

    猜你喜欢
    • 2010-10-17
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 2015-01-29
    相关资源
    最近更新 更多