web-dev-qa-db-ja.com

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のバッファサイズの設定が見つかるかどうか調べましたが、今のところ何も見つかりませんでした。何ができますか?

46
Noh Kumado

ロガーバッファーサイズoff設定->開発者オプションデバイス/エミュレータで。これは、Logger bufferが特定の時間に限られたKBのログを表示するように設定されているために発生している可能性があります。次のログのセットは、前のバッファがクリアされると表示されます。

59
Rishabh

より充実した答え

受け入れられた答えは私にはうまくいきませんでした。ロガーバッファをオフにするのではなく、最大サイズに増やしました。

  1. エミュレータまたはデバイスで開発者オプションを有効にします(not Android St​​udio)まだ有効になっていない場合:エミュレータまたはデバイスでSettings> System> About(emulated device)をクリックし、Build numberを7回クリックします。
  2. 設定>システム>開発者オプション>ロガーバッファサイズに移動し、より高い値を選択します。

enter image description here

  1. また、エミュレータを再起動する必要がありました。

したがって、デバイスのログバッファが長時間のロギングのためにいっぱいになるため、元の問題が明らかに発生します。バッファサイズを大きくすると、1つのログセッションでより多くのログを記録できます。

76
Suragch

投稿したこのログは、logcatではなく、アプリがクラッシュすることを示しています(スタックトレースでは通常の方法ではありませんが、クラッシュしています)。アプリケーションを選択し、logcatで「選択したアプリケーションを表示」にフィルターを設定していますか?その場合は、フィルターを「フィルターなし」に設定するだけで、アプリのすべてのログが表示されます。

また、何らかの理由でlogcatを再起動する必要がある場合は、Android St​​udioを再起動するのではなく、adbを再起動し、最終的にlogcatも再起動する次のコマンドを実行できます。

adb kill-server
adb start-server
6
ahasbini

開発者向けオプションでは、ロガーバッファサイズを最大16Mに設定できます。
(設定>システム>開発者オプション>ロガーバッファサイズ)

さらに必要な場合は、adbを使用して設定できます。たとえば、100Mに設定できます。

adb logcat -G 100M
5
Lukk17s

バッファサイズを変更しても機能しませんでした。 USB接続をUSB 3.0ポートに変更しました。

1
Prof

adb logcat -G 1m

ターミナルでこれを入力してください、それは私のために働いた

0
Sabin Acharya

実際の電話から実行している場合-USBから電話を切断して接続してください(@Suragchが提案したように、バッファが空になります)。

0
ALUFTW

デバイスを再起動してください!携帯電話を再起動した後、なぜ機能するのかわかりません。

0
Ender

File-> Invalidate Caches/Restartに移動すると、Android studioがジョブを実行できます。

0
Anonymous-E