Logcatがエラーでクラッシュする:予期しないEOF


87

長い計算を実行していますが、かなり遅れて問題が発生します。ブレークポイントを使用してみましたが、今のところ成功していません。だから私は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のバッファサイズの設定を見つけることができるかどうかを調べましたが、これまでのところ何も見つかりませんでした。何ができるの?


1
質問者は2つの無関係なことを混同しています。「クラッシュの始まり」というメッセージは、logcatではなくAndroidアプリがクラッシュしたことを意味します。「読み取り:予期しないEOF!」実際にはlogcatプロセスからのものであり、logcatプロセスがlogdプロセスへの接続を失ったことを示しています。
satur9nine

まあ、アプリがクラッシュしていなかった、それだけで収束されませんでした....が、私は理由..... logcatのバッファの制限のそれを見ることができませんでした
能楽Kumado

回答:


100

設定してみてくださいLoggerがサイズをバッファオフ下の[設定]> [開発者向けオプションお使いの上、デバイス/エミュレータ。これは、ロガーバッファーが特定の時間にのみ限られたKBのログを表示するように構成されているために発生している可能性があります。次のログセットは、前のバッファがクリアされた後にのみ表示されます。


2
確かに、タブレット側のlogcatは固定長でした!
能楽Kumado

10
オフにしましたが、ログがまったく表示されません。(サムスンノート8)。これがすべての人にとっての解決策だとは思いません
注意してください

1
オフにしましたが、質問のオープナーとしてエラーが発生しました。
NisimNaim19年

これは私のために働いた(エミュレーターで)。この問題は最近始まったばかりです。
ラッシーキヌ

これは承認された答えではありません。実際のデバイスでバッファをオフにするのではなく、バッファが枯渇しないようにバッファを増やすことをお勧めします。デバイスに依存する/ AndroidOSのバージョンに依存する可能性がありますが。
SergeyDryganets20年

138

より完全な答え

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

  1. エミュレーターまたはデバイス(Android Studioではない)で開発者向けオプションをまだ有効にしていない場合は有効にします。エミュレーターまたはデバイスで、[設定]> [システム]> [バージョン情報](エミュレートされたデバイス)に移動し、[ビルド番号]を7回クリックします。
  2. [設定]> [システム]> [開発者向けオプション]> [ロガーバッファーサイズ]に移動し、より高い値を選択します。

ここに画像の説明を入力してください

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

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


1
これを使用すると、通常の勤務日で問題を回避できます。私には例外があります。Bluetoothデバイスがたくさんある環境でSamsung電話を使用することです。サムスンはすべてのBluetoothスキャンをシステムレベルでログに記録することを決定しましたが、明らかにこれには16Mでは不十分です。30台以上のBluetoothデバイスが周囲にある場合でも、1日に4〜5回発生します。
reTs 2018

logdバッファーはリングバッファーであり、そのサイズを変更しても、logcatとlogdの間の接続が失われるかどうかに測定可能な影響はありません。それが行うのは、メモリ内のログ履歴の量を変更することだけです。これで問題が解決する可能性はほとんどありません。
satur9nine

1
@ satur9nine、根本的なレベルで問題が修正されたかどうかはわかりませんが、クラッシュを防ぎ、より多くのログメッセージを表示できるという点で問題を修正しました。
Suragch

TWRPバックアップをあるMotoG5 Plusから別のMotoG5 Plusに転送した後、私のlogcatバッファーは、数か月前のいくつかのイベント、今日のいくつかのイベント、それに続くread: unexpected EOF!。で構成されていました。16Mに増やすと問題が修正され、数か月前のイベントが消えました。
nyanpasu 6420

18

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

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

adb logcat -G 100M

7

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

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

adb kill-server
adb start-server

アプリは動作し続けているように見えるので、それは奇妙ですか?私は計算自体については確信がありますが(したがって、デバッグしたいのですが)、残りは機能し、ボタンをクリックするなどして、期待される動作が得られますか?adbトリックがlogcatを復元しましたが、残念ながらスキップして実際の時点に戻ります...
Noh

長い計算の意味を考えたところ、何か問題が発生しました。つまり、アプリが遅くなったり、応答しなくなったりしてクラッシュした可能性があります。アプリは複数のアクティビティで構成されていますか?そして、エラーが発生したとき、それは前のアクティビティに戻るようなものですか?すべてのログを正しく表示しないフィルターはありませんか?
ahasbini 2018

ノーアプリはいくつかの点で期待される、はい、いくつかの活動やワーカースレッドからずれるが非同期タスクで行われていることをスムーズにその結果を実行していない、と何そのクラッシュMSG後、logcatの遺跡当たり障りのないすべてのための...
能楽Kumado

3

あなたが実際の電話から走っているなら-私のために働いたUSBから電話を切断して接続してください(バッファは空になります-@ Suragchが提案したように)。


2

バッファサイズの変更は私にはうまくいきませんでした。USB接続をUSB3.0ポートに変更しました。


1
素晴らしい!このヒントをありがとう。私も同じ問題を抱えていました。
イーサンリロイ

同様に、デバイスとコンピューターの間にあるUSBハブをすべて取り外したり、コンピューターの別のUSBポートを試したりします。
satur9nine

1

adb logcat -G 1m

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


1

デバイスを再起動してください!携帯電話を再起動した後、なぜそれが私のために働くのか分かりません。



0

残念ながら、これはまだ問題のようです。「ログビューア」と呼ばれるプラグイン([ファイル]-> [設定]-> [プラグイン]-> [マーケットプレイス])をインストールする以外に、満足のいく解決策を見つけることができませんでした。AndroidStudioの組み込みのlogcatビューアよりもうまく機能します。


0

推奨事項は私にはうまくいきませんでした。私はついにこの設定を変更しました:

メニュー「実行」、メニューエントリ「構成の編集」、左側の「Androidアプリ/アプリ」、右側のタブ「ミケランジェロ」、最後に「Logcat:起動前にログをクリア」をアクティブにします。

もちろんこれには副作用がありますが、少なくともログ出力をもう一度見ることができます。


-1

ちょうどに行くファイル- >無効化キャッシュ/再起動は、 Androidのスタジオは仕事をするようになります


これが問題自体に役立つとは思いませんが、ASを再起動するとlogcatが再起動し、明らかに問題が修正されます。
PNDA

@PNDAなぜ、Androidにキャッシュを検証させて、再起動させてみませんか?不利な点がどこにあるのかわかりません
匿名
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.