根据动态库地址寻找对应函数

1.查找当前进程的基地址

1).根据/proc/<进程号>/maps 和so库名称 

cat /proc/proc_id/maps | grep xx.so --第一行为基地址

2)在 GDB 调试中,使用 info proc mapping 查看

3)在GDB调试中查找动态库加载地址后减去代码段偏移量

2.查看运行地址,根据crash的信息或者pstack的信息获取运行地址

3.计算实际的地址,用第2步中获取的运行地址减去第一步获取的基地址

4.用nm xxx.so 获取编译的地址与函数名对应,找到不大于实际地址的最接近的函数名为对应的

或者objdump -j .text -S xxx.so 可获取较多信息,耗时较长

5.c++filt + 函数名即可转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值