[android] Logcat이 오류와 함께 충돌합니다 : 예기치 않은 EOF

나는 몇 가지 긴 계산을 실행하고 있는데 뭔가가 꽤 늦게 잘못되었습니다. 중단 점을 사용해 보았지만 지금까지 성공하지 못했습니다. 그래서 Log.d모니터링하기 위해 루프에 넣었습니다 .

그러나 곧 Logcat은 다음과 충돌합니다.

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

Logcat을 다시 실행하려면 스튜디오를 다시 시작해야합니다.

Logcat의 버퍼 크기에 대한 설정을 찾을 수 있는지 살펴 보았지만 지금까지 아무것도 찾지 못했습니다. 무엇을 할 수 있습니까?



답변

설정 시도 로거는 크기를 버퍼오프 에서 -> 설정 – 개발자 옵션 에, 당신의기기 / 에뮬레이터의 . 이는 로거 버퍼 가 특정 시간에만 제한된 KB의 로그를 표시하도록 구성 되었기 때문에 발생할 수 있습니다 . 다음 로그 세트는 이전 버퍼가 지워진 경우에만 표시됩니다.


답변

더 완전한 답변

받아 들인 대답이 저에게 효과가 없었습니다. 로거 버퍼를 끄는 대신 최대 크기로 늘 렸습니다.

  1. 아직 활성화되지 않은 경우 에뮬레이터 또는 장치 ( Android Studio 아님) 에서 개발자 옵션 활성화 : 에뮬레이터 또는 장치에서 설정> 시스템> 정보 (에뮬레이션 된 장치) 로 이동하고 빌드 번호를 클릭합니다. 7 번 .
  2. 이동 설정> 시스템> 개발자 옵션> 로거는 크기 버퍼 및 높은 값을 선택합니다.

여기에 이미지 설명 입력

  1. 에뮬레이터도 다시 시작해야했습니다.

따라서 원래 문제는 장치 로그 버퍼가 긴 로깅으로 가득 차기 때문에 분명히 발생합니다. 버퍼 크기를 늘리면 단일 로깅 세션에서 더 많이 로깅 할 수 있습니다.


답변

개발자 옵션에서 로거 버퍼 크기를 최대 16M로 설정할 수 있습니다.

(설정> 시스템> 개발자 옵션> 로거 버퍼 크기)

더 필요한 경우 adb를 사용하여 설정할 수 있습니다. 예를 들어 100M으로 설정할 수 있습니다.

adb logcat -G 100M


답변

게시 한이 로그는 logcat이 아니라 앱 충돌을 나타냅니다 (스택 트레이스의 일반적인 방식은 아니지만 충돌이 발생 함). 앱을 선택하고 필터를 logcat에서 “선택한 애플리케이션 표시”로 설정 했습니까? 그렇다면 필터를 “필터 없음”으로 설정하면 앱의 모든 로그가 표시됩니다.

또한 어떤 이유로 든 logcat을 다시 시작해야하는 경우 Android 스튜디오를 다시 시작하는 대신 다음 명령을 실행하여 adb를 다시 시작하고 결국 logcat도 다시 시작할 수 있습니다.

adb kill-server
adb start-server


답변

실제 전화에서 실행하는 경우 USB에서 전화를 분리하고 연결하십시오 (버퍼가 비워집니다-@Suragch가 제안한 것처럼).


답변

버퍼 크기를 변경해도 효과가 없었습니다. USB 연결을 USB 3.0 포트로 변경 한 것은 무엇입니까?


답변

adb logcat -G 1m

터미널에 이것을 입력하십시오.