Android 将Eclipse调试器附加到重新启动的应用程序

Android 将Eclipse调试器附加到重新启动的应用程序,android,adt,ddms,eclipse-adt,Android,Adt,Ddms,Eclipse Adt,我正在测试android应用程序的onsave/onrestore方法 为此,我给我的设备打电话,看看它是否终止了进程,然后挂断电话。:) 我看到它重新启动了应用程序 问题是:如何使其在调试模式下重新启动,以便逐步完成恢复过程? 有没有办法告诉它在启动时自动连接到调试器?我认为没有办法确保应用程序在调试模式下重新启动。但是,如果您正在调试自己的应用程序,并且不介意为测试添加调试代码,那么您可能希望在启动方法的适当位置添加Thread.sleep(5000)或类似的内容。这将给您足够的时间通过DD

我正在测试android应用程序的onsave/onrestore方法

为此,我给我的设备打电话,看看它是否终止了进程,然后挂断电话。:) 我看到它重新启动了应用程序

问题是:如何使其在调试模式下重新启动,以便逐步完成恢复过程?
有没有办法告诉它在启动时自动连接到调试器?

我认为没有办法确保应用程序在调试模式下重新启动。但是,如果您正在调试自己的应用程序,并且不介意为测试添加调试代码,那么您可能希望在启动方法的适当位置添加Thread.sleep(5000)或类似的内容。这将给您足够的时间通过DDMS重新连接调试器。当然,完成后请删除;)

使用
android.os.Debug.waitForDebugger()


基本上,通过调试开始。退出你的应用程序。设置一些断点。重新输入你的应用程序(确保这一行被点击,所以将其放在onCreate或其他地方),它将重新连接到正在运行的调试器。

Android设置>开发者选项>调试>选择要调试的应用程序中有一个配置选项。如果某个应用程序已连接到adb且应用程序的项目已打开,则每次打开该应用程序时,它都会调用eclipse调试器。

以编程方式:使用
waitForDebugger()

请注意,该方法在调试器连接后立即返回,因此最佳做法是在该调用之后放置断点。此外,可以使用
isDebuggerConnected()
测试调试器附件状态

在Eclipse中:打开Eclipse的DDMS透视图,选择设备上新重新启动的应用程序,然后选择调试选项。这将把调试器附加到重新启动的实例

在设备上:在某些*手机下有一个配置选项,允许您在配置USB调试时选择要调试的应用程序。它位于设备设置的开发者选项下。这将自动附加调试器


*例如,我的Galaxy S4有,我的HTC Rezound没有。我相信这可能是一个特定于果冻豆的选择。

是的。我希望避免这种情况。有点难看。