Logcat崩溃并出现错误:意外的EOF

问题描述 投票:38回答:8

我正在进行一些冗长的计算,而且出现问题很晚。我尝试使用断点,但到目前为止没有成功。所以我把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找到缓冲区大小的设置,但到目前为止我什么也没找到。可以做些什么?

android android-logcat
8个回答
55
投票

尝试在设备/仿真器上的设置 - >开发人员选项下将记录器缓冲区大小设置为关闭。这可能会发生,因为Logger缓冲区配置为仅在特定时间显示有限的KB日志。只有在清除前一个缓冲区后,才会显示下一组日志。


74
投票

富勒回答

接受的答案对我不起作用。我没有关闭记录器缓冲区,而是将其增加到最大值。

  1. 如果尚未启用模拟器或设备(不是Android Studio)中的开发人员选项:在模拟器或设备中,转到设置>系统>关于(模拟设备),然后单击内部版本号7次。
  2. 转至设置>系统>开发人员选项>记录器缓冲区大小,然后选择更高的值。

enter image description here

  1. 我还必须重启模拟器。

因此,原始问题显然是因为设备日志缓冲区被填满以进行冗长的日志记录。增加缓冲区大小允许您在单个日志记录会话中记录更多内容。


6
投票

你发布的这个日志说明应用程序崩溃了(虽然不是通常的堆栈跟踪方式,而是崩溃),而不是logcat。您是否选择了应用程序并将过滤器设置为logcat中的“显示所选应用程序”?如果是这样,只需将过滤器设置为“无过滤器”,您将看到应用程序的所有日志。

此外,如果您因任何原因需要重新启动logcat,而不是重新启动Android Studio,您可以运行以下命令,这将重启adb并最终重启您的logcat:

adb kill-server
adb start-server

4
投票

在Developer选项中,您可以将Logger缓冲区大小设置为最大16M。 (设置>系统>开发人员选项>记录器缓冲区大小)

如果您需要更多,可以使用adb进行设置。例如,您可以将其设置为100M:

adb logcat -G 100M

1
投票

更改缓冲区大小对我不起作用。是什么改变了USB连接到USB 3.0端口。


0
投票

如果你是从一个真正的手机上运行 - 断开并连接手机上的usb(缓冲区变空了 - 就像@Suragch建议的那样)。


0
投票

adb logcat -G 1m

在终端上输入,这对我有用


0
投票

重启你的设备!重新启动手机后,我不知道它为什么适用于我。

© www.soinside.com 2019 - 2024. All rights reserved.