DDD调试opencore/stagefright(转载更新版)

Google为Android应用开发提供了eclipse加插件作为开发工具,基于eclipse可以方便调试apk,而对于底层开发人员(比如opencore开发)没有提供类似直观的开发工具及调试手段。本文旨在介绍一种基于ddd+gdbserver的调试方法,用于类似opencore的C层面的程序调试。
 
具体步骤如下:
1、开一个终端,然后输入:adb shell
    ps查看mediaserver进程号
    gdbserver :4800 --attach pid   (pid为具体进程号)
    注:在本系统中端口为4800开启一个调试进程,进程号为实际的pid值。
 
2、再开一个终端,输入:adb forward tcp:4800 tcp:4800
cd /myandroid/android2.2
ddd –debugger arm-eabi-gdb out/target/product/generic/symbols/system/bin/mediaserver
然后会自动载入ddd程序
在其console窗口执行如下两个命令,事实上会从下面指定目录加载so库
set solib-absolute-prefix /myandroid/android2.2/out/target/product/generic/symbols
set solib-search-path /myandroid/android2.2/out/target/product/generic/symbols/system/lib
接下来连接server端,执行命令:target remote :4800
执行完该命令后要略等一下,此时gdb会加载所需的so库
此时可以在ddd源码浏览窗口打断点,或者在console窗口通过命令设置断点,
比如:b createPlayer,
然后执行命令c
 至此DDD方面完成,接下来进入模拟器,点击播放视频,即可进入断点
---------------------------------------------------------------------------------------------------
 步骤基本上参照以上描述。
下面贴上几张图(可按照图进行操作):
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值