Ich führe einige langwierige Berechnungen durch und ziemlich spät geht etwas schief. Ich habe versucht, Breakpoints zu verwenden, aber bisher ohne Erfolg. Also stecke ich in die Schleife a Log.d zu überwachen…
und ich muss das Studio neu starten, um Logcat wieder zum Laufen zu bringen.
Ich habe nachgesehen, ob ich eine Einstellung für die Puffergröße für Logcat finden kann, aber bisher habe ich nichts gefunden. Was kann getan werden?
Der Fragesteller verschmilzt zwei Dinge, die nichts miteinander zu tun haben. Die Meldung „Beginn des Absturzes“ bedeutet, dass eine Android-App abgestürzt ist, nicht Logcat. Das “lesen: unerwartetes EOF!” tatsächlich vom logcat-Prozess stammt und darauf hinweist, dass der logcat-Prozess seine Verbindung zum logd-Prozess verloren hat.
– satur9nine
25. November 2019 um 21:56 Uhr
Nun, die App ist nicht abgestürzt, sie hat nur nicht konvergiert …. aber ich konnte es wegen der Pufferbegrenzung des Logcats nicht sehen …
– No Kumado
25. November 2019 um 22:40 Uhr
Suragch
Vollständigere Antwort
Die akzeptierte Antwort hat bei mir nicht funktioniert. Anstatt den Logger-Puffer auszuschalten, habe ich ihn auf die maximale Größe erhöht.
Aktivieren Sie die Entwickleroptionen in Ihrem Emulator oder Gerät (nicht Android Studio), falls es noch nicht aktiviert wurde: Gehen Sie in Ihrem Emulator oder Gerät zu Einstellungen > System > Info (emuliertes Gerät) und klicken Sie auf Build-Nummer 7 mal.
Gehe zu Einstellungen > System > Entwickleroptionen > Logger-Puffergrößen und wählen Sie einen höheren Wert.
Ich musste auch den Emulator neu starten.
Das ursprüngliche Problem tritt also anscheinend auf, weil der Protokollpuffer des Geräts für eine längere Protokollierung gefüllt wird. Durch Erhöhen der Puffergröße können Sie mehr in einer einzigen Protokollierungssitzung protokollieren.
Damit kann ich das Problem an einem normalen Arbeitstag vermeiden. Für mich gibt es eine Ausnahme: Verwenden eines Samsung-Telefons in einer Umgebung mit vielen Bluetooth-Geräten. Samsung hat beschlossen, jeden Bluetooth-Scan auf Systemebene zu protokollieren, und anscheinend reichen 16 MB dafür nicht aus. Es wird immer noch 4 oder 5 Mal am Tag passieren, wenn ich über 30 Bluetooth-Geräte um mich herum habe.
– reTs
25. Juli 2018 um 10:53 Uhr
Der logd-Puffer ist ein Ringpuffer, eine Änderung seiner Größe sollte keinen messbaren Einfluss darauf haben, ob die Verbindung zwischen logcat und logd unterbrochen wird. Es ändert lediglich, wie viel Protokollierungsverlauf im Speicher vorhanden ist. Es ist sehr unwahrscheinlich, dass dies das Problem behebt.
– satur9nine
25. November 2019 um 21:59 Uhr
@satur9nine, ich kann nicht sagen, ob es das Problem auf der zugrunde liegenden Ebene behebt, aber es hat mein Problem behoben, indem es den Absturz verhindert und die Anzeige weiterer Protokollmeldungen ermöglicht hat.
– Suragch
26. November 2019 um 2:20 Uhr
Nachdem ich ein TWRP-Backup von einem Moto G5 Plus auf ein anderes übertragen hatte, bestand mein Logcat-Puffer aus einigen Ereignissen von vor Monaten, einigen Ereignissen von heute, gefolgt von read: unexpected EOF!. Das Erhöhen auf 16M behebt das Problem und lässt die monatealten Ereignisse verschwinden.
– nyanpasu64
18. Februar 2020 um 10:44 Uhr
Rishabh
Einstellung versuchen Logger-Puffergrößen zu aus unter Einstellungen->Entwickleroptionenauf Ihrem Gerät/Emulator. Dies könnte passieren, weil Logger-Puffer ist so konfiguriert, dass Protokolle in begrenzter KB nur zu einem bestimmten Zeitpunkt angezeigt werden. Der nächste Satz von Protokollen wird erst angezeigt, wenn der vorherige Puffer gelöscht wurde.
Tatsächlich hatte das Logcat auf der Tablet-Seite eine feste Länge!
– No Kumado
14. Februar 2018 um 14:04 Uhr
Ich habe es ausgeschaltet, jetzt sehe ich überhaupt keine Protokolle mehr. (Samsung-Note 8). Ich glaube nicht, dass das eine Lösung für alle ist
– siehe da
26. Februar 2019 um 22:45 Uhr
Ich habe es ausgeschaltet, aber ich habe immer noch den Fehler als Frageöffner.
– Nisim Naim
3. Juli 2019 um 11:08 Uhr
das hat bei mir funktioniert (mit dem Emulator). das problem ist erst vor kurzem aufgetreten.
– Lassi Kinnunen
18. Dezember 2019 um 7:46 Uhr
Dies sollte keine genehmigte Antwort sein, es ist besser, den Puffer zu erhöhen, um zu verhindern, dass er leer wird, anstatt ihn auf den echten Geräten auszuschalten. Dies kann jedoch geräteabhängig / abhängig von der Android-Betriebssystemversion sein.
– Sergej Dryganets
10. Juni 2020 um 17:36 Uhr
In den Entwickleroptionen können Sie die Logger-Puffergröße auf maximal 16 MB einstellen.
(Einstellung > System > Entwickleroptionen > Logger-Puffergrößen)
Wenn Sie mehr benötigen, können Sie es mit adb einstellen. Zum Beispiel können Sie es auf 100M setzen:
adb logcat -G 100M
Dieses von Ihnen gepostete Protokoll besagt, dass die App abstürzt (wenn auch nicht auf die übliche Weise mit einem Stacktrace, aber es stürzt ab), nicht das Logcat. Hast du die App ausgewählt und im Logcat den Filter auf “Ausgewählte Anwendung anzeigen” gesetzt? Wenn ja, stellen Sie den Filter einfach auf “Kein Filter” und Sie sehen alle Protokolle Ihrer App.
Auch für den Fall, dass Sie den Logcat aus irgendeinem Grund neu starten müssen, können Sie, anstatt Android Studio neu zu starten, die folgenden Befehle ausführen, die adb und schließlich auch Ihren Logcat neu starten:
adb kill-server
adb start-server
Shubham Talekar
verwenden Sie den folgenden Befehl:
adb logcat -G 20M
Glücklicher Agarwal
Entfernen Sie alle log.d und starten Sie Android Studio neu und gehen Sie einfach zu Datei -> Caches ungültig machen / Neustart.
Ihre Geräteeinstellungen->Entwickleroptionen
Größe des Protokollpuffers ändern
Mike S.
Die Empfehlungen haben bei mir nicht funktioniert. Ich habe endlich diese Einstellung geändert:
Menü „Ausführen“, Menüeintrag „Konfigurationen bearbeiten“, dann auf der linken Seite „Android App/App“ und auf der rechten Seite den Reiter „Verschiedenes“, und schließlich „Logcat: Log vor dem Start löschen“ aktivieren.
Das hat natürlich Nebenwirkungen, aber zumindest kann ich die Log-Ausgabe wieder sehen.
Es heißt „Verschiedenes“, nicht „Michelangelo“ 😛
– Wladimir Kattsyn
23. November 2021 um 12:22 Uhr
13350600cookie-checkLogcat stürzt mit Fehler ab: unerwartetes EOFyes
Der Fragesteller verschmilzt zwei Dinge, die nichts miteinander zu tun haben. Die Meldung „Beginn des Absturzes“ bedeutet, dass eine Android-App abgestürzt ist, nicht Logcat. Das “lesen: unerwartetes EOF!” tatsächlich vom logcat-Prozess stammt und darauf hinweist, dass der logcat-Prozess seine Verbindung zum logd-Prozess verloren hat.
– satur9nine
25. November 2019 um 21:56 Uhr
Nun, die App ist nicht abgestürzt, sie hat nur nicht konvergiert …. aber ich konnte es wegen der Pufferbegrenzung des Logcats nicht sehen …
– No Kumado
25. November 2019 um 22:40 Uhr