看雪论坛

[下载] gdb for android on-device debug

netsniffer 2017-3-16 356

Android toolchain中的gdb源码加部分修改编译,可以在Android设备上直接调试 (通过adb shell),支持多线程。

区分arm/arm64位版本,64位Android设备请使用arm64下的gdb。


最新回复 (13)
netsniffer 2017-3-16
2
目前只支持Android5.x 及以上版本
Loopher 2017-3-16
3
感谢分享
GeneBlue 2017-3-17
4
这个不错,省去用gdbserver远程调了
5
非虫 2017-3-19
5
可以公开下你补丁的代码,方便大家自行编译。
netsniffer 6天前
6

对AOSP GDB 7.11修改的patch见附件

使用NDK standalone toolchain(建议使用platform-21)编译,thread_db.h用附件替换一下toolchain中的。 


狂奔的鸡骨架 5天前
7
netsniffer 对AOSP GDB 7.11修改的patch见附件使用NDK standalone toolchain(建议使用platform-21)编译,thread_db.h用附件替换一下toolchain中的 ...
你好,我用的NEXUS5 5.0.1和5.1.1模块都显示未加载,输入命令回显也有问题。
netsniffer 5天前
8

使用的adb是否是最新版sdk中的(新版的adb已附在附件中)?

操作过程列一下?

狂奔的鸡骨架 5天前
9

手机型号:Nexus5 

手机操作系统:5.0.1(已ROOT) 

adb:已更换为您提供的版本 

gdb:您提供的版本 操作步骤如下: 

adb push gdb /data/local/tmp 

adb shell 

$ su 

# cd /data/local/tmp 

# chmod 777 gdb 

# ./gdb -pid xxx 

 然后会有如下问题: 

1.在gdb中输入命令不能回显 

2.info sh自己的模块显示未加载但是通过cat /proc/pid/maps显示已加载

狂奔的鸡骨架 5天前
10
netsniffer 使用的adb是否是最新版sdk中的(新版的adb已附在附件中)?操作过程列一下?
要是方便的话加下您Q请教您一下,我的Q是578294,谢谢!
ouyangtian 4天前
11

gdb 硬件断点还是不错的。这个支持GUI和python么?

netsniffer 4天前
12

狂奔的鸡骨架 要是方便的话加下您Q请教您一下,我的Q是578294,谢谢!

单位上不了Q,我测试过JNI SO中的断点是没问题的。

建议apk中的so使用不去除符号的版本,这样/data/app/xxxx/lib/arm/libyyy.so 就是带符号的,可以直接设置断点;

否则的话,调试时使用gdb的add-symbole-file来加载符号表, 

命令后边的地址是该so(map表中r-xp中映射的首地址 + so自身.text section地址),.text section的地址可以使用ndk中的arm-linux-androideabi-objdump来看

 e.g. 
 (gdb) set arm force-mode thumb 
 (gdb) add-symbol-file /data/local/tmp/libnativeTest.so 0x******** 
 (gdb) b native_stringFromJNI(_JNIEnv*, _jobject*) 
 ......


netsniffer 4天前
13
ouyangtian gdb 硬件断点还是不错的。这个支持GUI和python么?
不支持, 要喜欢GUI/Python,可以直接用Android studio,它内置lldb来调试,效果也很不错
狂奔的鸡骨架 4天前
14
netsniffer 狂奔的鸡骨架 要是方便的话加下您Q请教您一下,我的Q是578294,谢谢! 单位上不了Q,我测试过JNI SO中的断点是没问题的。建议ap ...
谢谢!
返回



©2000-2017 看雪学院 | Based on Xiuno BBS | 知道创宇带宽支持 | 微信公众号:ikanxue
Time: 0.011, SQL: 9 / 京ICP备10040895号-17