gpt4 book ai didi

linux - 在 Linux 中查找共享库的加载地址

转载 作者:IT王子 更新时间:2023-10-29 00:17:22 25 4
gpt4 key购买 nike

在运行时我需要打印出一个地址,然后找出该地址是哪个函数的一部分。这些函数位于共享库中,因此不在固定地址。我的映射文件显然只显示了每个共享库函数的相对偏移量。是否可以在运行时查询已加载库的位置,以便我可以从我的地址中减去该值以获得正确的映射文件偏移量?

目前,我正在做一个有点棘手的方法,我还打印出库中一个函数的地址,然后在映射文件中找到该函数以确定加载地址必须在哪里。我宁愿有一个不需要您命名引用函数的通用方法。

(GDB 在我的设置中不可用)。谢谢。

最佳答案

在最近的 linux 上,您可以使用 dl_iterate_phdr 找出共享库的地址。

关于linux - 在 Linux 中查找共享库的加载地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6625252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com