首页
社区
课程
招聘
[下载] gdb for android on-device debug
发表于: 2017-3-16 20:33 7913

[下载] gdb for android on-device debug

2017-3-16 20:33
7913

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

包含arm/arm64/x86_64三种版本,64位Android设备请使用相应的*64位gdb。



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (25)
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
目前只支持Android5.x 及以上版本
2017-3-16 20:35
0
雪    币: 210
活跃值: (641)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3
感谢分享
2017-3-16 22:22
0
雪    币: 47
活跃值: (418)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
这个不错,省去用gdbserver远程调了
2017-3-17 00:36
0
雪    币: 2307
活跃值: (1013)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
5
可以公开下你补丁的代码,方便大家自行编译。
2017-3-19 13:09
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6

对AOSP GDB 7.11修改的patch见附件

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


2017-3-20 19:44
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
netsniffer 对AOSP GDB 7.11修改的patch见附件使用NDK standalone toolchain(建议使用platform-21)编译,thread_db.h用附件替换一下toolchain中的 ...
你好,我用的NEXUS5 5.0.1和5.1.1模块都显示未加载,输入命令回显也有问题。
2017-3-21 11:42
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8

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

操作过程列一下?

上传的附件:
2017-3-21 13:06
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
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显示已加载

2017-3-21 15:03
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
netsniffer 使用的adb是否是最新版sdk中的(新版的adb已附在附件中)?操作过程列一下?
要是方便的话加下您Q请教您一下,我的Q是578294,谢谢!
2017-3-21 15:14
0
雪    币: 130
活跃值: (71)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11

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

2017-3-22 09:46
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
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*) 
 ......


2017-3-22 12:14
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
ouyangtian gdb 硬件断点还是不错的。这个支持GUI和python么?
不支持, 要喜欢GUI/Python,可以直接用Android studio,它内置lldb来调试,效果也很不错
2017-3-22 12:26
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
netsniffer 狂奔的鸡骨架 要是方便的话加下您Q请教您一下,我的Q是578294,谢谢! 单位上不了Q,我测试过JNI SO中的断点是没问题的。建议ap ...
谢谢!
2017-3-22 20:24
0
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15

1

2017-4-4 11:11
0
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16

请问下lz,地址没错,为什么加载不进来这些呢

2017-4-4 11:54
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
17
你那个libNBAMobileNeno.so没有带符号,编译的时候带上-g参数,编译出来的so里会带上符号
2017-4-5 11:00
0
雪    币: 80
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18

楼主你好,我使用的gdb和adb都是你在本帖中提供的版本,我遇到的问题是,只要gdb attach到了目标进程上,运行一会进程就出现Segmentation fault,然后退出了。

请教楼主和各位,这个问题该怎么解决?

上传的附件:
2017-4-5 16:35
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
19
估计是有反调试手段
2017-4-6 09:52
0
雪    币: 80
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
我也是这么想的,谢谢楼主回复
2017-4-7 14:22
0
雪    币: 203
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
楼主能不能放一个  x86版本的gdb出来啊  很多模拟器都是x86
2017-5-4 12:32
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
22
gdtiti 楼主能不能放一个 x86版本的gdb出来啊 很多模拟器都是x86
编译了个x86_64的,更新了附件,x86的问题挺多,没时间弄。
模拟器选x86_64  CPU的,建议AndroidM、N的模拟器。
2017-5-4 21:04
0
雪    币: 30
活跃值: (1332)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
能加下好友么?
雷电模拟器版本,或者加点命令!
2017-7-5 21:58
0
雪    币: 30
活跃值: (1332)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
gdb  +  Voltron  ==  od?
2017-7-5 22:00
0
雪    币: 30
活跃值: (1332)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
https://github.com/snare/voltron
地址
2017-7-6 07:29
0
游客
登录 | 注册 方可回帖
返回
//