gdb的info functions和lldb的image lookup的区别

两个命令都是搜索函数的。

gdb的info functions是在内存中的symbol table查找,结果中的地址是内存里的地址,所以得到结果后,直接b(break,添加断点)这个地址,即可正确加断点。

lldb的image lookup -s是在库文件中查找,结果中的地址是在library中的偏移地址,b这个地址是不能正确break的。

正因为这个区别,gdb会比lldb更快得到结果。

(info functions后面接的是正则表达式, image lookup -s -r要再加上-r才是搜正则表示式, regular expression。)


如果不是为了加断点(当然,还是可以b整个函数签名),那么用lldb更好,因为:

1. 如果使用IDA去分析库文件,那么可以把lldb的结果地址用在IDA中jump to address。

2. 如果是为了确定库文件中是否有某函数,lldb更准确,因为不一定所有库的内容都加载进内存了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蒙面侠

来一个五羊香芋甜筒~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值