我正在配置emacs来调试Android应用程序.我的问题是因为我将jdb附加到DDMS我无法设置正确的类路径(当我尝试将-classpath和-attach设置在一起时,jdb就不会启动).所以jdb实际上是盲目的 – 没有类的入口点,没有交互式调试.将调试器附加到ddms时如何指定类路径?
解决方法:
根据JDB手册页“-classpath”是“转发到Debuggee进程的选项”之一.换句话说,它不告诉jdb在哪里找东西,它告诉应用程序被调试在哪里找东西.
由于您正在连接到正在运行的进程,因此这没有任何意义.
调试过程所需的所有信息都存储在设备上的DEX文件中;你不需要主机端的jar / dex文件供jdb使用.唯一不起作用的是“列表”,但是如果你坐在emacs中,大概你不需要它.
我已经成功使用jdb来执行各种调试任务.我经常忘记的事情是你必须指定完全限定的类名(例如java.lang.String而不仅仅是String).如果您正在执行此操作并仍然出现故障,请在此处粘贴示例jdb调试会话.