Android gdb调试

Android gdb调试

前置条件:

1.Linux环境,比如Ubutun

2.python工具:建议2,7, 安装命令 sudo apt-get install libpython2.7

3.Android完整codebase

4.开发板

操作步骤:

adb root

adb remount

adb shell

#4027为进程id

gdbserver :5050 --attach 4027 or gdbserver64 :5050 --attach 4027

另外开一个窗口

adb forward tcp:5050 tcp:5050

source build/envsetup.sh

lunch xxx

gdbclient.py --port 5050 -p 4027

设置监控的二进制文件

file /xxx/out/target/product/xx/symbols/system/bin/mediaserver

Set sysroot路径

set sysroot /xx/out/target/product/xx/symbols/

设置Android源码目录

set dir /xx/

设置gdb带符号表的so路径

set solib-absolute-prefix /xx/out/target/product/xx/symbols/

设置断点

break frameworks/av/xx.cpp:37

相关推荐
_小马快跑_2 小时前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android
_小马快跑_2 小时前
Kotlin | 从SparseArray、ArrayMap的set操作符看类型检查的不同
android
_小马快跑_2 小时前
Android | 为什么有了ArrayMap还要再设计SparseArray?
android
_小马快跑_2 小时前
Android TextView图标对齐优化:使用LayerList精准控制drawable位置
android
_小马快跑_2 小时前
Kotlin协程并发控制:多线程环境下的顺序执行
android
_小马快跑_2 小时前
Kotlin协程异常捕获陷阱:try-catch捕获异常失败了?
android
_小马快跑_2 小时前
Android | 权限申请与前置说明弹窗同时展示的优雅方案
android
_小马快跑_2 小时前
Android | Channel 与 Flow的异同点
android
_小马快跑_2 小时前
Android | 文本测量:从 Paint.measureText 到 StaticLayout 的替换
android
树獭非懒3 小时前
告别繁琐多端开发:DivKit 带你玩转 Server-Driven UI!
android·前端·人工智能