私はいくつかの長い計算を実行していますが、何かがかなり遅くなります。ブレークポイントを使用してみましたが、これまでのところ成功していません。そこで、監視するために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のバッファサイズの設定が見つかるかどうか調べましたが、今のところ何も見つかりませんでした。何ができますか?
ロガーバッファーサイズをoff(設定->開発者オプション、デバイス/エミュレータで。これは、Logger bufferが特定の時間に限られたKBのログを表示するように設定されているために発生している可能性があります。次のログのセットは、前のバッファがクリアされると表示されます。
受け入れられた答えは私にはうまくいきませんでした。ロガーバッファをオフにするのではなく、最大サイズに増やしました。
したがって、デバイスのログバッファが長時間のロギングのためにいっぱいになるため、元の問題が明らかに発生します。バッファサイズを大きくすると、1つのログセッションでより多くのログを記録できます。
投稿したこのログは、logcatではなく、アプリがクラッシュすることを示しています(スタックトレースでは通常の方法ではありませんが、クラッシュしています)。アプリケーションを選択し、logcatで「選択したアプリケーションを表示」にフィルターを設定していますか?その場合は、フィルターを「フィルターなし」に設定するだけで、アプリのすべてのログが表示されます。
また、何らかの理由でlogcatを再起動する必要がある場合は、Android Studioを再起動するのではなく、adbを再起動し、最終的にlogcatも再起動する次のコマンドを実行できます。
adb kill-server
adb start-server
開発者向けオプションでは、ロガーバッファサイズを最大16Mに設定できます。
(設定>システム>開発者オプション>ロガーバッファサイズ)
さらに必要な場合は、adbを使用して設定できます。たとえば、100Mに設定できます。
adb logcat -G 100M
バッファサイズを変更しても機能しませんでした。 USB接続をUSB 3.0ポートに変更しました。
adb logcat -G 1m
ターミナルでこれを入力してください、それは私のために働いた
実際の電話から実行している場合-USBから電話を切断して接続してください(@Suragchが提案したように、バッファが空になります)。
デバイスを再起動してください!携帯電話を再起動した後、なぜ機能するのかわかりません。
File-> Invalidate Caches/Restartに移動すると、Android studioがジョブを実行できます。