在我的应用程序中,一个活动启动了一个作为单独进程运行的服务,我想调试该活动以及该服务,但调试器不会在服务中的断点处停止?
感谢帮助。
只是为了详细说明这里的其他答案,您可以暂时放入android.os.Debug.waitForDebugger();
辅助流程的代码以使其更容易。
然后,只需通过 DDMS 或 IntelliJ(或您正在使用的任何工具)将您的调试器附加到进程。
您需要在单独的进程上启用调试。
打开 DDMS 透视图(相对于 Debug 或 Java)。在 DDMS->Devices 中,选择您的服务的进程,然后单击调试按钮(小绿错误按钮)。一个调试图标将出现在您的进程附近,然后您应该能够在您的服务中使用断点。
请注意,您需要等到远程进程启动后才能启用调试。因此,您可能希望确保单独的进程在启动时启动,或者在启动远程服务的行之后立即在主进程中设置断点。
在启用调试之前:
启用调试后:
(当然也可以暂时使服务非远程工作,但我有一个不切实际的实例)
暂时使它不是一个单独的过程。
@CommonsWare