1.發生異常之後,直接查看最後1個異常以及該異常的第1個棧記錄。E.G.
02-27 14:01:06.126 23653 23653 E AndroidRuntime: java.lang.RuntimeException: Unable to pause activity {com.codefoxx.namingexample/com.codefoxx.namingexample.Mai
nActivity}: java.lang.ArithmeticException: divide by zero
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3660)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3604)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4393)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at android.app.ActivityThread.access$1000(ActivityThread.java:150)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:102)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:168)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:5885)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)
02-27 14:01:06.126 23653 23653 E AndroidRuntime: Caused by: java.lang.ArithmeticException: divide by zero
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at com.codefoxx.namingexample.MainActivity.onPause(MainActivity.java:60)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at android.app.Activity.performPause(Activity.java:6374)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1412)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3639)
02-27 14:01:06.126 23653 23653 E AndroidRuntime:        ... 10 more

第14行為最後一個異常,第15行為該異常的第1個棧記錄。

2.使用ADB + LOGCAT COMMAND LINE

使用格式如下

adb -s abcdefghijklnmopqrstuvwxyz logcat LoginPresenter:d LoginActivity:d *:w

LoginPresenter:D -> 表示只會顯示TAG為LoginPresenter而優先性為Debug
LoginActivity:D -> 表示只會顯示TAG為LoginActivity而優先性為Debug
adb -s abcdefghijklnmopqrstuvwxyz ->表示在連接多數裝置的情況指定其中之一裝置。
*:w -> 表示設定所有TAG(除了在該指令之前的)的優先性為Fatal。
若改為*:S則會將所有TAG(除了在該指令之前的)的優先性設為Silent,而Silent則代表不會輸出任何訊息。
以上的logcat指令代表:
會顯示TAG為LoginPresenter而優先性為Debug,以及TAG為LoginActivity而優先性為Debug,以及其他的TAG只有Fatal會顯示