在我的应用程序中,一个活动启动一个作为单独进程运行的服务,我想调试Activity和服务,但调试器不会停在服务中的断点?
感谢您的帮助。
答案 0 :(得分:6)
只是在这里详细说明其他答案,您可以暂时将android.os.Debug.waitForDebugger();
放入辅助流程的代码中,以便更轻松。
然后,只需通过DDMS或IntelliJ(或任何你正在使用的)将调试器附加到进程。
答案 1 :(得分:5)
暂时不要让它成为一个单独的过程。
@CommonsWare
答案 2 :(得分:5)
您需要在单独的进程上启用调试。
打开DDMS透视图(选择Debug或Java)。在DDMS-> Devices中,选择服务的进程,然后单击调试按钮(little-green-bug按钮)。调试图标将出现在您的流程附近,然后您应该可以在服务中使用断点。
请注意,您需要等到远程进程启动才能启用调试。因此,您可能希望确保在启动时启动单独的进程,或者在启动远程服务的行之后立即在主进程中设置断点。
在启用调试之前:
启用调试后:
(当然暂时使服务非远程工作,但我有一个不实用的实例)