38 votes

Application Android qui se ferme lorsque le bloc de code de débogage se termine

Je viens de configurer un environnement de dev pour une application android. Tout semble être mis en place correctement, je peux construire l'application, ajouter des points d'arrêt et de débogage de l'application. Mais j'ai remarqué un comportement bizarre et je n'arrive pas à trouver quelque chose en rapport avec le problème.

  1. Quand j'ai démarrer l'émulateur ou à exécuter l'application sur un appareil que je peux marcher, bien que l'application et tout fonctionne comme prévu
  2. Quand je lance le debugger et annonce un point d'arrêt le point d'arrêt est atteint très bien et je peux étape dans le code.
  3. Quand je suis sortie de la dernière bloc de code qui avait l'initiale du point d'arrêt, à l'aide de F7(pas sur) ou F8(pas plus), l'application se ferme et le débogueur s'arrête. Il n'y a pas d'erreurs dans android monitor > logcat.
  4. Si je fais le même jeu de l'étape mais au lieu d'utiliser la touche F9 pour reprendre le programme de l'application ne se ferme pas et tout fonctionne normalement.

Il semble que cela pourrait avoir quelque chose à voir avec l'activité de filetage de finition et probablement un Android Studio option debug? Je ne suis pas vraiment sûr que si, je suis encore nouveau pour de développement android.

Pourquoi le débogueur s'arrête comme ça? Est-il un moyen pour vous assurer de courir vers le prochain point d'arrêt?

Modifier

Je peux aussi reproduire cela avec un nouveau projet android mon ajout d'un point d'arrêt dans la méthode OnCreate et l'exécution pas à pas à il la fin comme ceci

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);    <------- Breakpoint added here
    setContentView(R.layout.activity_main);

    ......

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);
}    <------- Application terminates after this line

9voto

Kai Points 962

Il semble qu’il s’agisse d’un bug .

Utiliser continue au lieu d'intervenir à la fin des méthodes devrait résoudre le problème mentionné ci-dessus. Bien que vous puissiez avoir besoin d'ajouter une journalisation supplémentaire et de placer des points d'arrêt n'importe où, vous vous attendez à ce que le code aille après cette méthode pour faciliter le débogage des méthodes ultérieures.

7voto

chefish Points 169

N'utilisez pas l'étape lorsque vous arrivez à la fin de la fonction, utilisez simplement "resume programme", il passera au point d'arrêt suivant.

-1voto

Gharjyot Singh Points 31

Vous pouvez essayer un meilleur appareil Android capable de supporter la charge de débogage sans bloquer l'application. C'est arrivé avec moi, maintenant j'utilise Nexus 5x, ce qui est préférable pour le développement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X