Logcat crashes with error: unexpected EOF

2019-02-16 04:33发布

问题:

I’m running some lengthy calculations and something goes wrong quite late. I tried using breakpoints, but with no success so far. So I put into the loop a Log.d to monitor...

But quite soon, Logcat crashes with:

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

and I need to restart the studio to get Logcat running again.

I looked if I could find some setting for the buffer size for Logcat, but so far I’ve found nothing. What can be done?

回答1:

Try setting Logger buffer sizes to off under Settings->Developer options, on your device/emulator. This might be happening because Logger buffer is configured to display limited KB of logs only at a particular time. Next set of logs would only be displayed once previous buffer is cleared.



回答2:

Fuller answer

The accepted answer didn't work for me. Rather than turning the logger buffer off, I increased it to the max size.

  1. Enable developer options in your emulator or device (not Android Studio) if it hasn't been enabled already: In your emulator or device go to Settings > System > About (emulated device) and click on Build number 7 times.
  2. Go to Settings > System > Developer options > Logger buffer sizes and choose a higher value.

  1. I also had to restart the emulator.

So the original problem apparently happens because the devices log buffer gets filled up for lengthy logging. Increasing the buffer size allows you to log more in a single logging session.



回答3:

This log you posted is stating the app crashing (although not in the usual way with a stacktrace but it's crashing), not the logcat. Do you have the app selected and filter set to "Show selected application" in the logcat? If so just set the filter to "No Filter" and you'll see all the logs of your app.

Also in case you need to restart the logcat for any reason, rather than restarting Android Studio you could run the following commands which will restart adb and eventually restart your logcat as well:

adb kill-server
adb start-server


回答4:

If you are running from a real phone - disconnect & connect the phone from the usb worked for me (the buffer gets empty- like @Suragch suggested).



回答5:

adb logcat -G 1m

Enter this on Terminal, it worked for me