Android
AndroidStudio

アプリがクラッシュした時にlogcatが一瞬で消えてしまうときの対処法

More than 1 year has passed since last update.


環境

Android Studio 2.3 (で確認したというだけで、他でも同じかと思います)


現象

何らかの原因でアプリがクラッシュした時に、通常はクラッシュを引き起こした例外のスタックトレースが Android Monitor の logcat に表示されるため、より詳細な情報を得られたり例外を引き起こしたコードに直接ジャンプしたるすることができる。

しかし、稀にスタックトレースが logcat に表示された直後に logcat がリフレッシュされ、スタックトレースを確認できないことがある。


原因

これは、 Android Studio の logcat の filter の設定が Show only selected application になっているためである。

この設定は選択されているプロセスのログのみを表示するということを意味するため、アプリがクラッシュして別のプロセスに選択状態が移ると、クラッシュしたプロセスのログが表示されなくなってしまう。


対処法

filter の設定を一時的に No Filter にして全てのログを表示するか、 Edit Filter Configuration で自身のアプリのパッケージ名に一致するログのみを表示するフィルタを作成して使用するとよい。

No Filter

Custom Filter Configuration

参照: https://stackoverflow.com/a/31040015