/ / Comment déboguer deux processus sous Android? - android, android-service

Comment déboguer deux processus dans Android? - android, android-service

Dans mon application, une activité démarre un service qui s'exécute en tant que processus séparé. Je souhaite déboguer l'activité ainsi que le service, mais le débogueur ne s'arrête pas aux points d'arrêt du service.

Merci pour l'aide.

Réponses:

6 pour la réponse № 1

Juste pour élaborer sur les autres réponses ici, vous pouvez mettre temporairement android.os.Debug.waitForDebugger(); dans le code de votre processus secondaire pour rendre cela plus facile.

Ensuite, attachez simplement votre débogueur au processus via DDMS ou IntelliJ (ou ce que vous utilisez).


5 pour la réponse № 2

Faites temporairement en sorte que ce ne soit pas un processus séparé.

@CommonsWare


4 pour la réponse № 3

Vous devez activer le débogage sur le processus séparé.

Ouvrez la perspective DDMS (en opposition à Debug ouJava). Dans DDMS-> Périphériques, sélectionnez le processus de votre service, puis cliquez sur le bouton de débogage (bouton little-green-bug). Une icône de débogage apparaîtra près de votre processus. Vous devriez alors pouvoir utiliser les points d'arrêt dans votre service.

Notez que vous devez attendre que la télécommandeprocessus commence avant d'activer le débogage. Vous pouvez donc vous assurer que le processus séparé démarre au démarrage ou définir un point d'arrêt dans votre processus principal immédiatement après la ligne qui démarre le service distant.

Avant d'activer le débogage:

entrer la description de l'image ici

Après avoir activé le débogage:

entrer la description de l'image ici

(Bien sûr, faire temporairement le service non-distant fonctionne aussi, mais j’ai eu un cas où cela n’était pas pratique)