Как интерпретировать Logcat

Может ли кто-нибудь сказать мне, как мне читать ошибки в Logcat? Я хотел бы понять, где моя проблема.

На данный момент я попытался прочитать его, но не могу найти причину сбоя.

Вот Logcat, которого я не понимаю:

05-18 18:29:44.160: ERROR/AndroidRuntime(2145): FATAL EXCEPTION: main 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.paad.whereami/com.paad.whereami.WhereAmI}: java.lang.NullPointerException 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.os.Handler.dispatchMessage(Handler.java:99) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.os.Looper.loop(Looper.java:130) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.main(ActivityThread.java:3683) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at java.lang.reflect.Method.invokeNative(Native Method) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at java.lang.reflect.Method.invoke(Method.java:507) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at dalvik.system.NativeStart.main(Native Method) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): Caused by: java.lang.NullPointerException 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.paad.whereami.WhereAmI.updateWithNewLocation(WhereAmI.java:290) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 

Вторая «часть» вашего журнала будет тем, что важно для вас в этом случае.

Вызывается: java.lang.NullPointerException

Это означает, что где-то в вашем коде что-то установлено значение null и вы пытаетесь использовать его, как будто это не так.

Следующие несколько строк сообщают вам, где в вашем коде вы можете найти ошибку.

at com.paad.whereami.WhereAmI.updateWithNewLocation(WhereAmI.java:290)
at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216)

Это должно означать, что у вас есть метод с именем updateWithNewLocation который вы вызываете из onCreate в строке 216. Ошибка исходит из этого метода в строке 290. Взгляните на строку 290 в коде. Все, что вы пытаетесь сделать в этой строке, вызывает исключение, потому что что-то null чего не должно быть.

DOCS

Основным инструментом Android для сбора / анализа журналов является logcat.

ЗДЕСЬ – страница Android о logcat

Если вы используете android Studio, вы также можете проверить этот LINK .

Захватив

В принципе, вы можете MANUALLY захватить logcat следующей командой (или просто проверить окно AndroidMonitor в AndroidStudio):

 adb logcat 

Есть много параметров, которые вы можете добавить в команду, которая поможет вам фильтровать и отображать сообщение, которое вы хотите … Это личное … Я всегда использую приведенную ниже команду, чтобы получить метку времени сообщения:

 adb logcat -v time 

Вы можете перенаправить вывод в файл и проанализировать его в текстовом редакторе.

Анализ

Ваше приложение разбивается, и вы получаете ошибку, например:

 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): FATAL EXCEPTION: main 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.paad.whereami/com.paad.whereami.WhereAmI}: java.lang.NullPointerException 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.os.Handler.dispatchMessage(Handler.java:99) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.os.Looper.loop(Looper.java:130) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.main(ActivityThread.java:3683) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at java.lang.reflect.Method.invokeNative(Native Method) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at java.lang.reflect.Method.invoke(Method.java:507) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at dalvik.system.NativeStart.main(Native Method) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): Caused by: java.lang.NullPointerException 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.paad.whereami.WhereAmI.updateWithNewLocation(WhereAmI.java:290) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 

Эта часть журнала показывает вам много информации:

когда

Когда 05-18 18:29:44.160 вопрос: 05-18 18:29:44.160

Важно проверить, когда возникла проблема … В журнале есть несколько ошибок … вы должны быть уверены, что проверяете правильные сообщения 🙂

Какое приложение

Приложение, которое разбилось: com.paad.whereami

Таким образом, вы знаете, какое приложение разбилось (чтобы быть уверенным, что вы проверяете журналы о своем сообщении)

Какая ошибка

ОШИБКА: java.lang.NullPointerException

Ошибка исключения NULL указателя

Какой файл ведет к этой ошибке

Обычно мы читаем только первую строку трассировки стека. Однако ваш журнал является хорошим примером того, что нам нужно проверить весь журнал. В приведенных ниже строках мы видим, что произошел нулевой указатель:

 Caused by: java.lang.NullPointerException at com.paad.whereami.WhereAmI.updateWithNewLocation(WhereAmI.java:290) at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216) 

Ошибка произошла в файле WhereAmI.java , внутри updateWithNewLocation() в строке: 290 (stacktrace показывает строку, в которой произошла ошибка)

Трассировки стека

Вы можете увидеть, какой метод называется updateWithNewLocation() . Это полезно, потому что иногда ошибка вызывалась при вызове методов. В вашем примере это было вызвано:

 at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216) 

и т.д….

обзор

Это был просто обзор … Не все журналы простые и т. Д. Это просто поделиться идеей и предоставить вам информацию начального уровня …

Надеюсь, я смогу помочь вам … С уважением

  • Что означают эти предупреждения Android logcat?
  • Чтение logcat программно в приложении
  • Как отфильтровать тэг в средстве просмотра Eclipse LogCat
  • Android Log.v (), Log.d (), Log.i (), Log.w (), Log.e () - Когда использовать их?
  • Необходимо обрабатывать неперехваченное исключение и отправлять файл журнала
  • Как написать выходы в Log in Android?
  • Вывод фильтра в logcat по тэгу
  • Android Studio - ошибка ADB - «... устройство несанкционировано. Проверьте диалоговое окно подтверждения на своем устройстве. "
  • Android-эмулятор спама logcat с «Service com.android.exchange.ExchangeService просочился ServiceConnection ..., который был первоначально связан здесь
  • Отладка Logcat Eclipse
  • Локальная shell adb с именем пакета
  • Interesting Posts

    (Linux) Как отрегулировать MP3-файл, чтобы иметь тот же видимый том, что и другой MP3, без изменения второго файла?

    Не удалось очистить старые ошибки реестра

    Предотrotation множественного входа с использованием одного и того же имени пользователя и пароля

    как разрешить массив с сильными параметрами

    Система защиты от кражи, которая может выдержать фокционирование?

    Как заполнить формы и отправить с помощью Webclient в C #

    objective «База» против «Активный» и «Развертывание»

    UICollectionView не повторно использует ячейки

    Добавление полей настраиваемого изображения и других полей одновременно

    Как определить, является ли какая-либо из моих операций самой фронтальной и видимой для пользователя?

    bootsrap nav-bar collapsable не может заставить его работать

    Есть что-то вроде «Firebug для IE» (для отладки JavaScript)?

    Что подразумевается под неизменным?

    Можно ли удалить эффект затухания между входами?

    Как я могу получить фактический URL-адрес видео в прямом эфире YouTube?

    Давайте будем гением компьютера.