Wykonuję długie obliczenia i coś idzie nie tak dość późno. Próbowałem użyć punktów przerwania, ale jak dotąd bezskutecznie. Więc wrzuciłem w pętlę Log.d
do monitorowania ...
Ale wkrótce Logcat ulega awarii z:
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
i muszę ponownie uruchomić studio, aby ponownie uruchomić Logcat.
Szukałem, czy mogę znaleźć jakieś ustawienie rozmiaru bufora dla Logcat, ale jak dotąd nic nie znalazłem. Co można zrobić?
android
android-logcat
Noh Kumado
źródło
źródło
Odpowiedzi:
Spróbuj wyłączyć rozmiary buforów Loggera w obszarze Ustawienia-> Opcje programisty na swoim urządzeniu / emulatorze . Może się tak dziać, ponieważ bufor programu Logger jest skonfigurowany do wyświetlania ograniczonych KB dzienników tylko w określonym czasie. Następny zestaw dzienników byłby wyświetlany dopiero po wyczyszczeniu poprzedniego bufora.
źródło
Pełniejsza odpowiedź
Przyjęta odpowiedź nie zadziałała dla mnie. Zamiast wyłączyć bufor rejestratora, zwiększyłem go do maksymalnego rozmiaru.
Więc pierwotny problem najwyraźniej występuje, ponieważ bufor dziennika urządzeń zostaje zapełniony w celu długotrwałego rejestrowania. Zwiększenie rozmiaru bufora umożliwia rejestrowanie większej liczby danych w jednej sesji rejestrowania.
źródło
read: unexpected EOF!
. Zwiększenie do 16 mln rozwiązało problem i sprawiło, że wydarzenia sprzed miesięcy zniknęły.W opcjach programisty można ustawić rozmiar bufora Loggera na maksymalnie 16M.
(Ustawienia> System> Opcje programisty> Rozmiary buforów rejestratora)
Jeśli potrzebujesz więcej, możesz to ustawić za pomocą adb. Na przykład możesz ustawić go na 100 M:
źródło
Ten opublikowany przez Ciebie dziennik wskazuje awarię aplikacji (chociaż nie w zwykły sposób ze śledzeniem stosu, ale powoduje awarię), a nie logcat. Czy masz wybraną aplikację i ustawiłeś filtr na „Pokaż wybraną aplikację” w logcat? Jeśli tak, po prostu ustaw filtr na „Brak filtru”, a zobaczysz wszystkie dzienniki aplikacji.
Również w przypadku konieczności ponownego uruchomienia logcata z dowolnego powodu, zamiast ponownego uruchamiania Android Studio, można uruchomić następujące polecenia, które zrestartują adb i ostatecznie zrestartują również logcat:
adb kill-server adb start-server
źródło
Jeśli korzystasz z prawdziwego telefonu - odłącz i podłącz telefon z usb działał u mnie (bufor się opróżnia - jak sugerował @Suragch).
źródło
Zmiana rozmiaru bufora nie działa dla mnie. Zmieniłem połączenie USB na port USB 3.0.
źródło
Wpisz to na terminalu, zadziałało dla mnie
źródło
Zrestartuj swoje urządzenie! Nie mam pojęcia, dlaczego to działa u mnie po ponownym uruchomieniu telefonu komórkowego.
źródło
użyj następującego polecenia:
źródło
Niestety, wydaje się, że to nadal problem, nie mogłem znaleźć satysfakcjonującego rozwiązania poza instalacją wtyczki ( Plik -> Ustawienia -> Wtyczki -> Rynek ) o nazwie „ Przeglądarka dziennika ”. Działa lepiej niż wbudowana przeglądarka logcat w Android Studio.
źródło
Zalecenia nie zadziałały dla mnie. W końcu zmieniłem to ustawienie preferencji:
Menu „Uruchom”, Wpis w menu „Edytuj konfiguracje”, następnie po lewej stronie „Aplikacja / aplikacja na Androida” i po prawej stronie zakładka „Michelangelo”, a na końcu aktywuj „Logcat: wyczyść dziennik przed uruchomieniem”.
Oczywiście ma to skutki uboczne, ale przynajmniej widzę ponownie dane wyjściowe dziennika.
źródło
Po prostu przejdź do Plik -> Unieważnij pamięć podręczną / Uruchom ponownie, co pozwoli Android Studio wykonać zadanie
źródło