永发信息网

如何使用linux dladdr

答案:2  悬赏:10  手机版
解决时间 2021-02-22 22:08
如何使用linux dladdr
最佳答案
在linux里面,每当某进程中调用dlopen打开动态连接库的同时,都会相应的维护该进程的一个link,加入新载入的这个动态库的名称在进程内的地址空间等基本信息,然后更新symbol。因此,只要遍历这个link,得知查找的address是在哪一个item的地址范围内,就可以找到该动态库的名称,然后减去进程载入的起始地址就得到了在动态库内的相对地址了,这也就是dladdr的原理。
尽管工作中遇到的OS不是linux,但是glibc的实现也是类似的。而且由于是嵌入式上跑的,反而更加简单。link的首地址竟然是保存在ld.so的一个固定的变量里,而且这个link也是一个专门用于记录动态库信息的结构,也比linux下的大杂烩要简单很多:)所以对我的问题就更方便了,直接用ptrace去attach目标进程,peek到保存link首地址的数据,然后逐个查询~~~如此,不用再麻烦remote debug啦,找到相对地址后我直接gdb里用info line,
全部回答
你可以改成这样 serv_addr.sin_addr.s_addr= inet_addr(ip地址);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
买了共享航班去机场该去哪个柜台领登机牌呀
人们把经过英国伦敦格林尼治天文台原址的0&de
“您的账号近期被多次举报,暂时无法申请加群
乘坐京广高铁可以带几条香烟
问一下,博鳌怎么去五指山?晚上去,要多长时
半音阶口琴 和莱257 1 2 3孔吸音难听
福州彩吧在哪里啊,我有事要去这个地方
厨房温感怎么测
眼镜度数换算!这图各种看不懂什么的.左:50近
先住院了,再去买合作医疗能报销吗
嵊州市城关法律服务所地址有知道的么?有点事
有人跟我说高考选专业看自己的兴趣,可是我平
婴儿多大可以吃香蕉
邯武快速路808公交车途经具体站点?
下图为某种植物幼苗(大小、长势相同)均分为
推荐资讯
QQ电脑管家0.5天加速个人中心没有在哪领取与0
谁有终极三国2017的全集,求发链接。。
本人想买一辆二手的2009-——2011年的日产逍
如何用光耦将5V信号转换成3.3V信号 希望能给
尚客优快捷酒店(齐河阳光广场店)地址在什么
挂式空调怎么清洗
我后天飞澳洲 我想问一下 在飞机平飞阶段可不
75道三位数除以一位数的除法题
唯亭镇锦凤床垫厂在什么地方啊,我要过去处理
小许烧烤怎么去啊,有知道地址的么
个人贷款合同履行期间,借款合同主体不得变更
shimano 2200 花鼓能装在普通公路车的前插上
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?