适用于Android应用程序的任何DVM工具界面(JVMTI for java equivalent)?

时间:2012-05-22 06:47:59

标签: stack heap jvmti

Eclipse调试器仍适用于Android应用程序。这让我想知道这个调试器是如何实现的。它是为DVM和JVM单独实现的,还是有一些人们可以获取堆栈和堆栈信息的通用接口?我正在尝试为我找到一个可编程的界面来获取Android应用程序的堆快照。

1 个答案:

答案 0 :(得分:0)

Eclipse支持称为“Java平台开发人员架构”(JPDA)的调试架构,其中一部分支持远程调试基础架构,如JDWP(Java调试线协议)。有关详细信息,请参阅http://www.ibm.com/developerworks/java/library/os-eclipse-javadebug/index.html

Android实现了JDWP(在Android上调试启动的应用程序实例化了一个JDWP线程,可以侦听特定端口)协议,这就是Eclipse能够用来调试Android应用程序的内容。

不确定您是否可以使用JDWP协议来获取堆转储,但您可以使用'am'命令“以编程方式”触发堆转储。

以下是使用adb shell命令的示例

$ adb shell am

或app可以执行'am'并触发堆转储。

希望这有帮助。