Android Studio, logcat nettoie après la fermeture de l'application

133

J'ai un problème avec mon logcat depuis la mise à jour 1.2 Beta pour Android Studio. Lorsque j'exécute mon application, elle enregistre tout comme d'habitude, puis j'arrive au point où mon application se bloque avec l'application en disant: malheureusement, le jeu s'est arrêté.

Après quelques secondes, Android ferme ce message. Lorsque cela se produit, mon logcat est également complètement effacé, ce qui signifie que j'ai à peine à tout moment pour lire l'erreur.J'ai trouvé des informations sur un tampon, mais il semble qu'Android Studio n'a pas la possibilité de l'augmenter en plus du fait que je doute que ce soit le problème.

Quelque chose qui peut être utile est qu'après avoir effacé et bourré les changements de processus dans Android.process.core et le message que je reçois dans mon logcat est:

04-13 10:28:13.394  12259-12265/android.process.acore D/dalvikvm    
Debugger has detached; object registry had 1 entries

Edit: J'ai lu sur les points d'arrêt, donc l'application de focus désactivé sur les points d'arrêt dans Paramètres-build, exécution, déploiement-débogueur mais cela n'a eu aucun effet.

Lotus Noir
la source
2
Si vous trouvez l'emplacement d'installation du programme adb, vous pouvez l'exécuter à adb logcatpartir de votre terminal ou de la fenêtre de commande, et éventuellement le diriger vers un pager, un grep, un tee ou autre.
Chris Stratton
1
oui, vous pouvez également essayer adb shell bugreport > log.txt, les types d'informations de journal seraient récupérés une fois la commande terminée.
délicieux
@yummy a fonctionné le mieux pour moi pour le moment, j'espère toujours trouver une solution car ce n'est pas la meilleure façon à mon avis. Merci
Black Lotus
1
Je n'ai trouvé aucune solution pour ne pas nettoyer les journaux avec Android Studio 1.2, mais une solution simple consiste à ne pas cliquer sur le bouton de fermeture (sur l'appareil) lorsque l'application se bloque. Ainsi, vous avez tous les journaux et les raisons pour lesquelles les applications se sont plantées.
Chakir
@Jameltheone Les messages ne restent à l'écran que quelques secondes. Ensuite, il ferme le dialogue de crash lui-même. Alors ne contrôlez pas vraiment cela.
Black Lotus

Réponses:

271

J'ai eu le même problème, mais cela ressemble plus à une fonctionnalité qu'à un bug:

Dans AndroidStudio, le paramètre par défaut de la fenêtre Logcat semble être "Afficher uniquement l'application sélectionnée" (coin supérieur droit de la fenêtre Logcat) ... qui regarde le journal du processus sélectionné (votre lancement actuel par défaut). Ainsi, lorsque votre application se bloque pendant le test, ce processus est terminé, le filtre efface donc le journal.

Au lieu de cela, sélectionnez "Modifier la configuration du filtre ..." et configurez un filtre pour votre application , par exemple:

  • FilterName: MyApp
  • PackageName: com.example.myapp (<< remplacer par le nom du package de votre application)

... puis sélectionnez ce filtre pour les futures exécutions. Cela devrait conserver le journal pour vous, même après le blocage de l'application.

maxdownunder
la source
Merci beaucoup. J'ai découvert l'erreur il y a 2 jours! Maintenant, je sais comment vraiment voir l'erreur. :)
Woppi
Vous êtes un SAUVEUR essayant de copier-coller le journal avant qu'il ne soit effacé ... je pensais que c'était mon téléphone parce que les autres téléphones se comportent normalement.
Master Fathi
Juste ce qui me manquait. Cela devrait être la réponse acceptée.
Graisse
Avait le même problème. Fonctionne parfaitement.
Chandan Pednekar
59

Basculez "Afficher uniquement l'application sélectionnée" sur "Aucun filtre". De cette façon, vous pouvez voir la sortie logcat d'un processus même lorsque ce processus n'est pas en cours d'exécution.

L'inconvénient est que votre logcat sera rempli de plus de spam provenant d'autres processus.

Brian Attwell
la source
1
pour filtrer le spam, saisissez le nom du package de votre propre application dans la barre de recherche en plus du menu déroulant "Afficher uniquement l'application sélectionnée / pas de filtre".
computingfreak
24

Mon application plantait et redémarrait. J'ai également eu quelques problèmes en lisant le logcat pour savoir ce qui se passait. J'ai ensuite remarqué que dans le menu déroulant, à côté de la liste déroulante Périphérique, il y avait quelque chose comme "com.mypackage.myapp ('un certain nombre')" et lorsque mon application s'est plantée, il y avait une autre option qui disait "com.mypackage.myapp ( 'un certain nombre') [MORTS] " . Si vous sélectionnez l'option "Dead", il vous montrera le logcat de l'instance précédente.

Dead LogCat

ALourenco
la source
Il apparaît quand il plante.
ALourenco
Je voulais dire sur un crash. Le PID change mais l'instance morte n'apparaît pas dans la liste.
Karan Modi
20

En cas de crash voir le Run onglet en bas de l'IDE.

Vous pouvez voir la raison du plantage dans cette partie (même dans le cas propre de logcat).

Remarque: si l'astuce ci-dessus ne fonctionne pas, essayez de provoquer un crash et déconnectez immédiatement le câble mobile (si vous utilisez l'appareil réel pour le test). vous pouvez voir l'erreur avant qu'elle ne soit nettoyée.

Mise à jour: Si l'astuce ci-dessus ne fonctionne pas, essayez de connecter et de détacher le téléphone et, espérons-le, le problème est résolu.

Update2: Si à nouveau ne fonctionne pas, essayez d'invalider les captures et de redémarrer, puis recommencez le débogage.

Update3: comme le dernier moyen, essayez de supprimer l'application et de l'installer à nouveau, puis lancez le débogage (si vous ne perdez pas cette condition que vous souhaitez tester)

Amir Hossein Ghasemi
la source
6

Dans Android Studio 2+

  1. Cliquez sur Run

  2. Cliquez sur Edit Configurations

  3. Dans la Run/Debug Configurationsfenêtre sélectionnez l' Miscellaneousonglet

  4. Assurez-vous que la Clear log before launchcase n'est pas cochée

Flot2011
la source
4

j'ai rencontré le même problème et voici la solution: -

1- Outils -> Android -> Activer l'intégration ADB.

et maintenant vous pouvez voir le logcat et les plantages comme d'habitude

Ziad Gholmish
la source
Mon intégration ADB était déjà assez malheureusement activée. Ce qui est très utile, c'est qu'après avoir été effacé, je reçois le message: 04-13 10: 28: 13.394 12259-12265 / android.process.acore D / dalvikvm ﹕ Le débogueur s'est détaché; Le registre d'objets avait 1 entrées
Black Lotus
@BlackLotus avez-vous résolu votre problème? Je suis confronté au même problème ici
Hoo
Ce n'est plus valable dans le nouvel Android Studio.
Hamzeh Soboh
4

Le filtre efface le journal une fois que l'application se bloque. Sélectionnez donc "Modifier la configuration du filtre" et créez votre propre filtre personnalisé avec le nom du filtre. Cela enregistrera le journal avec des informations même lorsque l'application est défectueuse.

Mohammed Nishar
la source
1

Nous sommes en 2018 et cela peut encore arriver. Fermez Android Studio et rouvrez.

Straya
la source
0

Ce bogue semble être corrigé avec la nouvelle version d'Android Studio version 1.2.2

Chakir
la source
1
Le bogue est toujours là, même dans Android Studio 2.2.2, donc je suppose que @maxdownunder avait tout à fait raison en supposant qu'il s'agit bien d'une ... "fonctionnalité"
Aenadon
0

J'ai rencontré le même problème et aucune des réponses ne pouvait m'aider, jusqu'à ce que je réalise que mon application provoquait une OutOfMemoryException. C'est aussi une cause profonde probable.

Chisko
la source