首页
社区
课程
招聘
[原创]android调试相关插件
发表于: 2017-1-7 21:03 9653

[原创]android调试相关插件

2017-1-7 21:03
9653

git目录在https://github.com/lichao890427/AndroidDebug.git
包括的项目如下:

# AndroidNdkDebugPlugin

                本插件为AndroidStudio插件
                背景:ADT已经开始支持jni模块源码调试,然而有一些未实现的部分。AndroidStudio自身支持启动方式调试jni,底层原理还是jdb+lldb方式;然而并未实现附加调试so源码。这样对于动态下发的so的源码级调试无能为力。本插件正是通过逆向并重新实现android-ndk.jar来实现调试动态下发so的源码的

                原始android-ndk.jar启动式调试jni得而实现步骤如下:
                  adb push 1.apk /data/local/tmp/1.apk
                  am start -D -n com.example.test/.MainActivity
                  等待app启动开启java调试线程
                  连接jdwp调试模块,下初始java断点
                  adb push lldb_server
                  ./lldb_server ..............建立lldbserver用于调试jni层
                  lldbfrontend.exe ........... 建立client连接lldbserver
                  发送命令使lldb附加进程
                  设置jni初始断点
                  恢复java层和jni层执行,等待中断
                本插件正是对原始逻辑进行逆向,跳过之前的步骤从而直接连接到进程

                使用方式:
                1.编译android-ndk.jar,替换android studio自身的插件,重启as
                2.打开任意包含jni源码的app源码,在Run/Debug Configurations选项可以看到远程android进程列表,选择需要attach的进程
                3.运行进程即可,此时插件逻辑从启动进程改为附加进程,最终附加到app实现c++源码调试
       
# AndBugForWin
                AndBug是java层调试工具,封装了jdb利用python实现用户交互。因为jdb本身接口实在难用所以出现该工具。然而它不支持Windows甚至CygWin,因为AndBug中使用了*nix系统支持的localfilesystem监听方式而不是用socket端口监听方式,因此稍作修改即可实现win-cygwin上的同等功能

# superddms
                本插件用于修复ddms不识别本地android虚拟机的bug,android自带虚拟机的端口5037,而不同厂家的虚拟机采用不同端口
               
# superjdb
                关于jdwp的解析如我的这篇帖子:http://blog.csdn.net/lichao890427/article/details/51924451
                对于高版本的jdwp服务器端(如android5.0),支持新的底层命令对字节码进行逐行调试;由于apk中一般去除了行号信息,因此jdb没有字节码的调试功能就像windbg没有反汇编单步步过一样扯淡,本插件实现了java字节码和dalvik字节码逐行调试,使用了java源码自带的jdb-gui


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

收藏
免费 1
支持
分享
最新回复 (6)
雪    币: 9
活跃值: (180)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
好贴,收藏了,多谢分享
2017-1-10 10:26
0
雪    币: 148
活跃值: (278)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不错,支持
2017-1-10 11:17
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
mark
2017-1-22 18:09
0
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
支持下!!!!
2017-2-14 01:58
0
雪    币: 9610
活跃值: (3698)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
仓库404了
2018-1-31 15:00
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
收藏了
2018-1-31 16:23
0
游客
登录 | 注册 方可回帖
返回
//