2

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

4

3 回答 3

3

没有现有的工具可以做你想做的事,但无需太多工作就可以实现这样的工具。

总体思路是你想连接dalvik的vm作为调试器,使用jdwp协议,单步虚拟机,检查每一步之间的状态,打印出指令。您应该能够获得...指令索引。或者可能是指令偏移量,通过 JDWP。

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

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

于 2012-11-21T19:00:37.467 回答
0

你可能想看看traceview

于 2012-11-21T15:16:13.833 回答
0

不讲字节码追查方法实在是太慢了,当你想知道app在做什么的时候,最好的方法是先追查方法,然后追查其中的字节码。

于 2017-05-11T04:17:22.473 回答