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

相关推荐
alexhilton2 小时前
将应用迁移到Navigation 3:痛点、加班和紧急修复
android·kotlin·android jetpack
杉氧7 小时前
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?
android·架构·android jetpack
雨白11 小时前
指针与数组的核心机制
android
黄林晴15 小时前
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线
android·android jetpack
三少爷的鞋16 小时前
Kotlin 协程环境下的 DCL 懒加载:别把线程时代的经验直接搬过来
android
plainGeekDev16 小时前
Gson → kotlinx.serialization
android·java·kotlin
CYY951 天前
Compose 入门篇
android·kotlin
杉氧1 天前
Compose 时代的 MVI 架构:如何用单向数据流驱动复杂 UI?
android·架构·android jetpack
杉氧1 天前
Modifier 的艺术:为什么链式调用的顺序决定了UI 的生命周期?
android·架构·android jetpack