web-dev-qa-db-fra.com

Logcat se bloque avec une erreur: inattendue EOF

Je fais de longs calculs et quelque chose se passe mal assez tard. J'ai essayé d'utiliser des points d'arrêt, mais sans succès jusqu'à présent. J'ai donc mis dans la boucle un Log.d pour surveiller ...

Mais très vite, Logcat plante:

02-08 16:35:42.820 2936-3402/com.nohkumado.geneticsolving.full D/BaseC: 
    norm:BC sq:49.0 dis:0.0 con:50.0/BC sq:56.0 dis:4.0 con:94.0=1.4069148936170213

    read: unexpected EOF!

    --------- beginning of crash

et je dois redémarrer le studio pour que Logcat soit à nouveau opérationnel.

J'ai cherché un moyen de définir la taille de la mémoire tampon de Logcat, mais je n'ai encore rien trouvé. Ce qui peut être fait?

32
Noh Kumado

Essayez de régler tailles du tampon d’enregistrement sur off sous Paramètres-> Options pour les développeurs, sur votre périphérique/émulateur . Cela peut être dû au fait que Logger buffer est configuré pour afficher un nombre limité de ko de journaux uniquement à un moment donné. L'ensemble suivant de journaux ne sera affiché qu'une fois le tampon précédent effacé.

39
Rishabh

Réponse plus complète

La réponse acceptée n'a pas fonctionné pour moi. Plutôt que d’éteindre le tampon de l’enregistreur, je l’ai augmenté à la taille maximale.

  1. Activez les options de développeur dans votre émulateur ou votre appareil (pas Android Studio) s'il n'a pas encore été activé: dans votre émulateur ou votre appareil, accédez à Paramètres> Système> À propos de (appareil émulé) et cliquez sur Numéro de construction 7 fois.
  2. Allez dans Paramètres> Système> Options pour les développeurs> Taille du tampon de journalisation et choisissez une valeur plus élevée.

 enter image description here

  1. J'ai également dû redémarrer l'émulateur.

Ainsi, le problème initial se produit apparemment car le tampon de journalisation des périphériques est saturé pour une journalisation longue. L'augmentation de la taille de la mémoire tampon vous permet d'enregistrer davantage dans une seule session de journalisation.

52
Suragch

Ce journal que vous avez posté indique le blocage de l'application (bien que ce ne soit pas habituel avec un stacktrace mais il se bloque), pas le logcat. Avez-vous sélectionné l'application et paramétrez-vous le filtre sur "Afficher l'application sélectionnée" dans le logcat? Si tel est le cas, définissez le filtre sur "Aucun filtre" et vous verrez tous les journaux de votre application.

De plus, au cas où vous auriez besoin de redémarrer le logcat pour une raison quelconque, plutôt que de redémarrer Android Studio, vous pouvez exécuter les commandes suivantes qui redémarreront adb et, éventuellement, redémarreront également votre logcat:

adb kill-server
adb start-server
6
ahasbini

adb logcat -G 1m

Entrez ceci sur le terminal, cela a fonctionné pour moi

0
Sabin Acharya

Si vous utilisez un vrai téléphone, déconnectez-vous et connectez-le depuis le port USB (le tampon se vide, comme suggéré par @Suragch).

0
ALUFTW