美文网首页
使用jdb调试apk

使用jdb调试apk

作者: SYfarming | 来源:发表于2017-08-31 20:02 被阅读308次

jdb是一个支持java代码级调试的工具,它是由java jdk提供的,存在于xxx\Java\jdk1.6.0_21\bin之下
使用ddms调试时,主机会打开另外一个网络端口,在DDMS里查看,一般是8700。
启动DDMS,这时程序前面应该有个红色小虫,点上面的开始调试按钮。这步不是必须的,这步的工作其实相当于手动敲:
$ adb -d forward tcp:8700 jdwp:$PID

其中$PID为要调程序的进程号。
通过attach方式进行调试步骤:
显示所有可供调试的用户进程:
adb jdwp

使用本地端口号连接到终端的给定进程:
adb forward tcp:xxx jdwp:<pid>

直接使用本机绑定的通讯端口,不指定进程
jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=xxx

JDWP 协议介绍
JDWP的全写是:Java Debug Wire Protocol:即JAVA调试器无线协议,它定义了调试器(Debugger)和被调试的JAVA虚拟机(target vm)之间的通信协议。在这里,我更要说明下:Debugger与Target vm,Target vm 中运行着我们希望要调试的程序,它与一般运行的Java虚拟机没有什么区别,只是在启动时加载了Agent JDWP 从而具备了调试功能。而debugger 就是我们熟知的调试器,它向运行中的target vm 发送命令来获取target vm 运行时的状态和控制Java 程序的执行。Debugger 和target vm 分别在各自的进程中运行,他们之间的通信协议就是JDWP。JDWP 与其他许多协议不同,它仅仅定义了数据传输的格式,但并没有指定具体的传输方式。这就意味着一个JDWP 的实现可以不需要做任何修改就正常工作在不同的传输方式上(在JDWP 传输接口中会做详细介绍)。JDWP 是语言无关的。理论上我们可以选用任意语言实现JDWP。然而我们注意到,在JDWP 的两端分别是target vm 和debugger。Target vm 端,JDWP 模块必须以Agent library 的形式在Java 虚拟机启动时加载,并且它必须通过Java 虚拟机提供的JVMTI 接口实现各种debug 的功能,所以必须使用C/C++ 语言编写。而debugger 端就没有这样的限制,可以使用任意语言编写,只要遵守JDWP 规范即可。JDI(Java Debug Interface)就包含了一个Java 的JDWP debugger 端的实现,JDK 中调试工具jdb 也是使用JDI 完成其调试功能的。

相关文章

  • 使用jdb调试apk

    jdb是一个支持java代码级调试的工具,它是由java jdk提供的,存在于xxx\Java\jdk1.6.0_...

  • 使用JDB进行调试

    在预发环境下进行debug时,时常因为工具和环境的限制,导致debug体验非常差,那么有什么方法能够简化我们进行d...

  • Android基础:jdb使用

    jdb可以用来打断点,jdb使用记录一下 一.首先找出需要调试进程的pid,adb shell ps -A 二.获...

  • JDB调试

    工具 Android Studio,后面的内容简称AS. Android Studio 是谷歌推出的一个Andro...

  • Android smali动态调试

    调试步骤 反编译apk 使用apktool工具反编译apk 在AndroidManifest.xml里面的Appl...

  • java调试

    Java 调试器(JDB)是 JDK 内置的命令行工具。从调试的指令和命令行接口两方面看的话,JDB 至少从概念上...

  • Android 逆向工程 —— Android 原生程序逆向 2

    APK 下载可调试的 APK可动态调试的 APK 这次的 APP 是 2015 年移动安全挑战赛(看雪&阿里主办)...

  • Android IDA 7.0 动态调试攻略

    1.准备 a. 下载并安装 IDA 7.0版本 b.下载并安装JDK,因为需要使用jdb命令调试应用。 c.准备已...

  • 1.Tomcat使用IDEA远程Debug调试的讲解

    JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的...

  • Waiting for observatory port to

    vscode 打开调试 卡在Installing build/app/outputs/apk/app.apk......

网友评论

      本文标题:使用jdb调试apk

      本文链接:https://www.haomeiwen.com/subject/madcjxtx.html