在链接与运行地址不同时gdb的调试方法
搭建一个链接和运行不同的环境
但是elf文件中有详细的地址信息,如果后续qemu加载的是elf的话就会按照elf加载,但是这并不是我们所希望的,所以通过下面的语句生成一个裸的二进制文件,没有地址信息
但是将通过kernel参数将可执行文件bin传入,放置在默认的地址0x80000
造成了运行地址和链接地址不同,这样通过gdbsever调试的时候无法正常的读取elf文件中的信息进行调试。
解决
在gdb中使用 add-symbol-file
将elf的符号信息加入,并且设置每个段实际的运行地址,这样在gdb调试的时候就会通过产生的偏移来调试
每个段的位置可以通过readelf得到的每个段的偏移+0x80000计算出来
一劳永逸:在 .gdbinit
加入
__EOF__

本文作者:alan
本文链接:https://www.cnblogs.com/alanli07/p/18423392.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/alanli07/p/18423392.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程