11

在我的应用程序中,一个活动启动了一个作为单独进程运行的服务,我想调试该活动以及该服务,但调试器不会在服务中的断点处停止?

感谢帮助。

4

3 回答 3

11

只是为了详细说明这里的其他答案,您可以暂时放入android.os.Debug.waitForDebugger();辅助流程的代码以使其更容易。

然后,只需通过 DDMS 或 IntelliJ(或您正在使用的任何工具)将您的调试器附加到进程。

于 2013-09-11T00:31:06.690 回答
6

您需要在单独的进程上启用调试。

打开 DDMS 透视图(相对于 Debug 或 Java)。在 DDMS->Devices 中,选择您的服务的进程,然后单击调试按钮(小绿错误按钮)。一个调试图标将出现在您的进程附近,然后您应该能够在您的服务中使用断点。

请注意,您需要等到远程进程启动后才能启用调试。因此,您可能希望确保单独的进程在启动时启动,或者在启动远程服务的行之后立即在主进程中设置断点。

在启用调试之前:

在此处输入图像描述

启用调试后:

在此处输入图像描述

(当然也可以暂时使服务非远程工作,但我有一个不切实际的实例)

于 2013-01-27T18:06:20.910 回答
5

暂时使它不是一个单独的过程。

@CommonsWare

于 2012-06-24T18:22:46.947 回答