Dalvik字节码跟踪器

时间:2012-11-21 13:37:28

标签: android runtime bytecode dalvik

如何在设备运行应用程序时获取正在执行的dalvik字节码的跟踪(如logcat一样)?

3 个答案:

答案 0 :(得分:3)

没有现成的工具可以做你想做的事情,但是可以在没有太多工作的情况下实现这样的工具。

一般的想法是,您希望使用jdwp协议连接到dalvik的vm作为调试器,并单步执行虚拟机,检查每个步骤之间的状态并打印出指令。你应该能够获得...指令索引。或者可能是指令偏移,通过JDWP。

此外,您需要阅读dex文件,并根据您从JDWP获得的指令索引/偏移量查找正在执行的确切指令。

您应该能够使用AndBug来实现上述解决方案的第一部分,然后使用dexlib访问dex文件,以获取指令。

答案 1 :(得分:0)

您可能需要查看traceview

答案 2 :(得分:0)

跟踪方法不要说字节代码真的太慢了​​,当你想知道应用程序正在做什么时,最好的方法是首先跟踪方法,然后跟踪其中的字节代码。