首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android-x86使用gdb | gdbserver调试媒体服务器

android-x86使用gdb | gdbserver调试媒体服务器
EN

Stack Overflow用户
提问于 2014-08-01 17:58:21
回答 2查看 1.6K关注 0票数 0

我可以知道其他人使用(gdb和gdbserver)调试mediaserver (本机二进制)的经验吗?

看了几篇博客和美甲后,我陷入了迷茫的状态。

我仍然在努力获取GDB所需的符号信息。

请查找控制台日志...

代码语言:javascript
复制
rajeshkumar@tpvgtvvm1:/media/rajeshkumar/droid_2k14/ref/ws_home/dev1$ python $AUTIL/agdb.py mediaserver
found debugger: /media/rajeshkumar/droid_2k14/ref/ws_home/dev1/android-x86/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7/bin/i686-linux-android-gdb
found symbol: /media/rajeshkumar/droid_2k14/ref/ws_home/dev1/android-x86/out/target/product/x86/symbols/system/bin/mediaserver
found mediaserver, pid is: 1978
attach gdbserver to 1978, listen on port 7890

rajeshkumar@tpvgtvvm1:/media/rajeshkumar/droid_2k14/ref/ws_home/dev1$ i686-linux-android-gdb -q -x ./temp_dbg/gdbclient.cmds /media/rajeshkumar/droid_2k14/ref/ws_home/dev1/android-x86/out/target/product/x86/symbols/system/bin/mediaserver
Reading symbols from /media/rajeshkumar/droid_2k14/ref/ws_home/dev1/android-x86/out/target/product/x86/symbols/system/bin/mediaserver...done.
0x400f95a6 in ?? ()
(gdb) info threads
  Id   Target Id         Frame 
* 1    Thread 1978       0x400f95a6 in ?? ()
(gdb) bt
#0  0x400f95a6 in ?? ()
warning: (Internal error: pc 0x8 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0x7 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0x7 in read in psymtab, but not in symtab.)

#1  0x00000008 in ?? ()
warning: (Internal error: pc 0x7 in read in psymtab, but not in symtab.)

#2  0x41717bf0 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) info sharedlibrary 
From        To          Syms Read   Shared Object Library
0x400079a0  0x40020059  Yes         /media/rajeshkumar/droid_2k14/ref/ws_home/dev1/android-x86/out/target/product/x86/symbols/system/bin/linker
(gdb) 

"./temp_dbg/gdbclient.cmds“的内容

代码语言:javascript
复制
set solib-absolute-prefix /non_exist_dir

set sysroot /media/rajeshkumar/droid_2k14/ref/ws_home/dev1/temp_dbg/symbols/system

set solib-search-path /media/rajeshkumar/droid_2k14/ref/ws_home/dev1/temp_dbg/symbols/system/lib:/media/rajeshkumar/droid_2k14/ref/ws_home/dev1/temp_dbg/symbols/system/bin

target remote 192.168.56.102:7890

下面是我探索的一些可能性,但没有运气...

1,在Android.mk模块级文件中添加了LOCAL_CFLAGS:= -g -O0 (我尝试过的其他可能值-ggdb | -ggdb3 )。

2,将全局级别的默认编译器标志(构建/核心/组合/选择.mk|构建/核心/组合/目标_linux-x86.mk)修改为"-g -O0",观察到Audioflinger,系统/核心/库等组件的构建失败。我又回到了-O2。

系统信息...

1,已在VirtualBox上安装iso映像。

2、使用午餐选项"5. android_x86-eng“构建镜像。

3,git分支信息(x86/kitkat-x86) "Android-x86 4.4-RC2 (KitKat-x86)“

请让我知道其他的可能性。

EN

回答 2

Stack Overflow用户

发布于 2014-08-05 03:01:21

当你建立你的项目时,你能包括APP_OPTIM:=debug标志来生成符号信息吗?

您的命令将如下所示

代码语言:javascript
复制
../<project-folder>: ndk-build APP_OPTIM:=debug NDK_DEBUG:=true
票数 0
EN

Stack Overflow用户

发布于 2014-08-05 15:32:36

为了快速解锁,我用从https://chromium.googlesource.com/android_tools下载的chromium android_tools预编译gdbserver ( GNU gdbserver (GDB) 7.6 )替换了预编译gdbserver ( GNU gdbser6.6)

使用i686-linux-android-gdb (GNU gdb (GDB) 7.6) + gdbserver ( GNU gdbserver (GDB) 7.6 ),我可以使用多线程媒体服务器应用程序进行调试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25077593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档