使用命令行jdb进行Android应用程序调试

时间:2010-11-11 19:18:10

标签: android emacs jdb

我正在配置emacs来调试Android应用程序。我的问题是因为我将jdb附加到DDMS我无法设置正确的类路径(当我尝试将-classpath和-attach设置在一起时,jdb就不会启动)。所以jdb实际上是盲目的 - 没有类的入口点,没有交互式调试。将调试器附加到ddms时如何指定类路径?

1 个答案:

答案 0 :(得分:3)

根据JDB手册页“-classpath”是“转发到Debuggee进程的选项”之一。换句话说,它不告诉jdb在哪里找东西,它告诉应用程序被调试在哪里找东西。

由于您正在连接正在运行的进程,因此没有任何意义。

调试过程所需的所有信息都存储在设备上的DEX文件中;你不需要主机端的jar / dex文件供jdb使用。唯一不起作用的是“列表”,但是如果你坐在emacs中,大概你不需要它。

我已经成功使用jdb来执行各种调试任务。我经常忘记的事情是你必须指定完全限定的类名(例如java.lang.String而不仅仅是String)。如果您正在执行此操作,但仍然出现故障,请在此处粘贴示例jdb调试会话。