如何使用gdb调试libstagefright?

如何使用gdb调试libstagefright?,gdb,android-source,remote-debugging,llvm-clang,android-build,Gdb,Android Source,Remote Debugging,Llvm Clang,Android Build,我的目标是什么? 在使用gdb在android emulator中远程调试libstagefright时,获取调试符号 到目前为止我做了什么? 下载Android源代码 按以下方式构建stagefright库: i) 午餐aosp_x86-userdebug ii)mma(来自/frameworks/av/media/libstagefright) 构建完成后,传输我感兴趣的.so文件以进行调试 /out/target/product/generic_x86/symbols/system/lib

我的目标是什么?
在使用gdb在android emulator中远程调试libstagefright时,获取调试符号
到目前为止我做了什么?

  • 下载Android源代码
  • 按以下方式构建stagefright库:
    i) 午餐aosp_x86-userdebug
    ii)mma(来自/frameworks/av/media/libstagefright)
  • 构建完成后,传输我感兴趣的.so文件以进行调试 /out/target/product/generic_x86/symbols/system/lib-to/system/lib-inside-emulator。 我已经传输了libstagefright\u soft\u hevcdec.so文件(因为我想调试hevc库)
  • 在设备上启动gdbserver并将其连接到mediacodec进程,在主机上启动gdb并建立远程连接以进行调试
  • 然而,这并没有给出调试符号,或者换句话说,我看不到我当前在gdb中执行的代码行

    我是如何让这个设置正常工作的?

  • 添加了全局环境变量LOCAL_CFLAGS,LOCAL_cppfagas,在构建之前设置为-ggdb
  • 添加要在生成之前和发出命令之后设置为debug的TARGET_BUILD_TYPE环境变量
  • 试图用lldb而不是gdb来调试代码,因为android构建过程使用了铿锵,铿锵++
  • 上面提到的事情都没有成功(或者我没有按照他们应该做的方式去做)

    因此,我在这里向我的堆栈溢出开发伙伴寻求帮助

    可能有帮助的信息