gdb调试,GDB调试opencore源码

本文详细介绍了如何使用GDB实现对OpenCore的调试过程,包括启动模拟器、连接GDB、配置环境变量等关键步骤。适合初学者理解和掌握GDB的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.crazycoder.cn/Bo-abstracts-selected/Article115650.html


花了一天的时间终于用GDB实现了对opencore的调试,虽然网上高人写的相关文章很详细,但是自己对GDB知之甚少,理解很慢,现在自己再写一个,希望给对像我这样刚接触GDB的人一些帮助:

  1 首先在终端执行:

  emulator –avd emulatorname

  打开模拟器

  2 开启另一个终端,执行:

  adb shell

  进入模拟器shell,

  3 在模拟器shell中执行 

  ps mediaserver

  查看进程mediaserver的PID

  4 查看PID后,接着执行:

  gdbserver :4800 –attach PID(上面查看的mediaserver的PID)

  5 再开启一个终端,设置模拟器端口转发:

  adb forward tcp:4800 tcp:4800

  6 启动arm-eabi-gdb,

  arm-eabi-gdb位于androidsrc/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin下,此文件夹下存放着android的编译器等工具

  命令格式:

  arm-eabi-gdb 可执行文件(在此是mediaserver,别忘了指定路径)

  这样就会进入GDB环境

  7 设置gdb中的来那个坏境变量:

  (gdb) set solib-absolute-prefix /androidsrc/out/target/product/generic/symbols/   
(gdb) set solib-search-path /androidsrc/out/target/product/generic/symbols/system/lib/

  关于这两个变量:

  solib-absolute-prefix :设置查找共享库的前缀,作为查找so库路径的前缀;

  If this variable is set, path will be used as a prefix for any absolute shared library paths; many runtime loaders store the absolute paths to the shared library in the target program's memory. If you use `solib-absolute-prefix' to find shared libraries, they need to be laid out in the same way that they are _disibledevent=>http://blog.chinaunix.net/u2/61880/showart_2393482.html

  http://blog.wjmjimmie.cn/2010/08/02/Android系统中调试动态链接库so文件的步骤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值