好的,所以我一直在尝试从 jdb 调试 Android 应用程序。
我运行模拟器,安装应用程序,运行 ddms,然后启动应用程序,然后在 DDMS 中选择它。现在我使用以下命令运行 jdb
jdb -attach localhost:8700 -sourcepath /project-root/src
jdb能够附加到进程上,然后是一个命令如
stop in com.android.helloworld.onClick
效果很好。
但是,当我在 Emacs 中使用 C-x 空格键时,它会运行带有行号的命令,
stop at com.android.helloworld:22
我得到了这个输出
Unable to set breakpoint com.android.helloworld:22 : No code at line 22 in com.android.helloworld
我已检查行号是否正确,并尝试传递文件名本身,但无济于事。有什么想法吗?
最佳答案
Android SDK 附带一个 android.el
,其中包含“android-jdb
”命令。这将为您正确设置键绑定(bind)。 (至少,我认为它会,我上次使用它时没有尝试那些键绑定(bind)。)
作为奖励,如果您从 bzr trunk 试用 CEDET,它包括 android 支持。在完成基本的 CEDET 设置后(请参阅 cedet.info 了解 android 详细信息),它可以方便地快速启动调试器并使用调试器连接到您的设备。它还支持其他一些有趣的东西。
关于android - 从 JDB 调试 Android 应用程序(在 Emacs 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7379272/