Google为Android应用开发提供了eclipse加插件作为开发工具,基于eclipse可以方便调试apk,而对于底层开发人员
(比如opencore开发)没有提供类似直观的开发工具及调试手段。本文旨在介绍一种基于ddd+gdbserver的调试方法,用于类似
opencore的C层面的程序调试。
具体步骤如下:
开一个shell
adb shell
ps查看mediaserver进程号
gdbserver :5039
--attach pid
(为什么是mediaserver呢,因为opencore/stagefright都被mediaserver进程引用)
//5039是端口号
再开一个shell
adb forward tcp:5039 tcp:5039
cd /working/myandroid
ddd
–debugger arm-eabi-gdb
out/target/product/generic/symbols/system/bin/mediaserver
而后会进入ddd程序
在
其console窗口执行如下两个命令,事实上会从下面指定目录加载so库
set solib-absolute-prefix
/working/myandroid/out/target/product/generic/symbols
set
solib-search-path
/working/myandroid/out/target/product/generic/symbols/system/lib
接下来连接
server端,执行命令t arget remote :5039
执行完该命令后要略等一下,此时gdb会加载所需的so库
此时可以在
ddd源码浏览窗口打断点,或者在console窗口通过命令置断点,
比如:b createPlayer,
然后执行命令c
至此DDD方面完成,接下来进入模拟器,点击播放视频,即可进入断点
如果想在纯命令行下调试,执行
arm-eabi-gdb
out/target/product/generic/symbols/system/bin/mediaserver
ddd下的调试,关于ddd的使用,就要参考相关文档了
分享到:
相关推荐
《Android多媒体框架Stagefright深度解析》 在Android系统中,多媒体处理是一个至关重要的部分,它涉及音频、视频的播放、编码以及解码等众多功能。Stagefright是Android平台上的核心多媒体框架,负责处理多媒体...
在Android系统中,多媒体处理是不可或缺的一部分,而Stagefright和OpenCore是两个重要的多媒体框架。它们各自在不同的时期和环境下承担着Android平台上的多媒体播放和处理任务。下面将详细对比这两个框架,以便理解...
stagefright + omx小结 stagefright + omx小结 stagefright + omx小结 stagefright + omx小结 stagefright + omx小结 stagefright + omx小结 stagefright + omx小结
Stagefright 框架 2.0.pdf Stagefright 框架是 Android 多媒体框架的一部分,自 Android 2.0 开始作为OpenCORE 的替代品。Stagefright 框架具有简洁的架构,易于维护,但仍然保留了跨平台的移植性。 Stagefright...
Android多媒体Stagefright框架是Android系统中用于处理多媒体内容的一个重要框架,其关键组件包括OMX、AwesomePlayer以及处理AAC音频等多媒体数据的模块。本文档将详细解析Stagefright框架的基本结构、工作原理以及...
Stagefright 框架 2.0 Stagefright 框架 2.0 是 Android 中的多媒体框架,自 Android 2.0 开始引入,以逐渐取代 OpenCORE。Stagefright 框架具有简洁的架构和良好的跨平台移植性,是 Android 多媒体架构中的重要...
### Android系统下Stagefright Player框架详解 #### Stagefright在Android多媒体架构中的核心地位 在深入探讨Stagefright框架之前,我们先了解其在Android多媒体架构中的位置。Stagefright是Google为Android平台...
stageFright_OpenMax系统.doc,对Android2.3的 stagefright框架和openMAx的深入分析
### StageFright_Video Playback流程详解 在深入探讨StageFright框架中视频播放流程之前,有必要先简要介绍StageFright。StageFright是Android系统中用于多媒体处理的核心框架,负责音频、视频的编码和解码工作。它...
本文将深入探讨Stagefright处理HLS的缓冲机制,同时也会涉及到Android Binder机制,它是Android系统中进程间通信(IPC)的核心部分。 一、Android Binder机制 Android Binder是Android系统服务和应用程序之间进行...
了解stagefright的缓存机制,对于android多媒体的移动开发有很大帮助
StageFright是Android系统中的一个多媒体框架,它存在一个名为"StageFright"的安全漏洞,这个漏洞与处理RM(RealMedia)文件有关,可能会导致远程代码执行或系统安全风险。本文档将深入解析RM视频文件格式,以帮助...
【Stagefright与OMX详解】 在Android操作系统中,Stagefright和OpenMAX(OMX)是两个关键的多媒体处理框架,它们对于处理音频、视频等媒体内容起着至关重要的作用。下面将对这两个概念进行深入解析。 1. **Stage...
《Stagefright AwesomePlayer框架详解》 Android多媒体框架在早期主要依赖于OpenCORE,这是一个功能强大但结构复杂的框架,适合跨平台移植。然而,自Android 2.0开始,Google引入了一个更为简洁高效的框架——Stage...
stagefright opencore对比 mp4范例stagefright opencore对比 mp4范例stagefright opencore对比 mp4范例stagefright opencore对比 mp4范例
### StageFright与OpenMAX的运作机制深度解析 在深入探讨StageFright和OpenMAX的运作之前,我们先简要了解这两个概念。StageFright是Android操作系统中的多媒体框架,负责处理音频、视频的编解码任务。而OpenMAX...
在android系统中,多媒体可以说占到整个系统的50 ,因此,关于多媒体的知识很重要,本文就要就是我个人关于android系统在2.3版本以后都采用的播放组件stagefright进行的详细的源码分析,相信对那些希望对多媒体有更...
### StageFright框架详解 #### 一、StageFright简介 StageFright是Google为Android系统设计的一个多媒体框架,自Android 2.2 (Froyo)版本开始引入。相较于先前版本使用的OpenCore多媒体框架,StageFright在设计上...