如何在Android中调试两个进程?

时间:2012-04-05 21:20:10

标签: android android-service

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

感谢您的帮助。

3 个答案:

答案 0 :(得分:6)

只是在这里详细说明其他答案,您可以暂时将android.os.Debug.waitForDebugger();放入辅助流程的代码中,以便更轻松。

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

答案 1 :(得分:5)

暂时不要让它成为一个单独的过程。

@CommonsWare

答案 2 :(得分:5)

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

打开DDMS透视图(选择Debug或Java)。在DDMS-> Devices中,选择服务的进程,然后单击调试按钮(little-green-bug按钮)。调试图标将出现在您的流程附近,然后您应该可以在服务中使用断点。

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

在启用调试之前:

enter image description here

启用调试后:

enter image description here

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