我想知道当应用程序在我们的设备上运行时,android 开源的 dalvik 目录中发生了什么。我知道 AOSP 中的 dalvik 部分被编译为 libdvm.so。我不想调试 android 应用程序,但需要知道应用程序运行时一切从哪里开始(与解释器和 JIT 相关)。
当应用程序在设备上运行时,它的 dex 代码被解释,检测到的热跟踪被传递给 JIT 编译器以转换为 m/c 代码。在设备上运行应用程序时是否可以通过调试器看到这一点。我希望这个要求不会令人困惑。
我尝试在主机上使用 gdbclient,在设备上使用 gdbserver。
给
/system/bin/dalvikvm
as 可执行文件。但是它解析AOSP中的dalvikvm文件夹
,我认为这是dalvik的命令行执行部分。然后我给出
libdvm.so
了可执行文件。它加载了符号。但是我应该在哪里给出断点。
在设备中启动应用程序后,它说程序未运行。
有人做过这种调试吗?请帮助我您的方法和建议。