暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase8a基于GDB调试之二——计算结构体或类的成员变量的偏移地址

原创 竹甲 2022-05-23
1451

基于gdb进行调试或core文件内存分析时,有时需要直接或间接快速定位到某个类或结构体的成员变量的偏移地址,但是无从知道该地址的偏移量。当然可以通过计算该变量在结构体或类中的位置,从头计算地址累加得出结果,但是当类的成员比较多而且嵌套很多其它自定义类成员或结构体成员、指针时,计算量就会大大增加,这时可以借助空指针(0x0地址)进行强转来得到结果:

(gdb) p ((gns::SharedConnection*)(0x0))->m_param
Cannot access memory at address 0x20
(gdb)

虽然地址非法,但是依旧会把偏移地址(基于0偏移)打印出来

最后修改时间:2022-05-23 14:55:38
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论