Android показывает некоторую инструкцию в LogCat

Я новичок в android. Не разбирался в android LogCat. Помогите пожалуйста.

LogCat имеет семь столбцов. Как работает каждый столбец (уровень, время, PID, TID, приложение, тег, текст), скажите мне.

пожалуйста, дайте мне объяснение этой ошибки. что такое рабочий столбец (ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: main || на android.view || на android.os)
Пример ошибки:

04-09 17:55:09.033: I/Choreographer(27247): Skipped 31 frames!  The application may be doing too much work on its main thread.
04-09 17:55:09.132: D/gralloc_goldfish(27247): Emulator without GPU emulation detected.
04-09 17:55:10.443: I/Choreographer(27247): Skipped 66 frames!  The application may be doing too much work on its main thread.
04-09 17:55:10.683: D/dalvikvm(27247): GC_FOR_ALLOC freed 74K, 8% free 2573K/2796K, paused 34ms, total 40ms
04-09 17:55:10.773: D/AndroidRuntime(27247): Shutting down VM
04-09 17:55:10.783: W/dalvikvm(27247): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
04-09 17:55:10.803: E/AndroidRuntime(27247): FATAL EXCEPTION: main
04-09 17:55:10.803: E/AndroidRuntime(27247): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.view.ViewRootImpl.setView(ViewRootImpl.java:571)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:246)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.app.Dialog.show(Dialog.java:281)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.app.ProgressDialog.show(ProgressDialog.java:116)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.app.ProgressDialog.show(ProgressDialog.java:99)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.app.ProgressDialog.show(ProgressDialog.java:94)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at com.example.shikkok_services.MainActivity$2.onClick(MainActivity.java:27)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.view.View.performClick(View.java:4204)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.view.View$PerformClick.run(View.java:17355)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.os.Handler.handleCallback(Handler.java:725)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.os.Handler.dispatchMessage(Handler.java:92)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.os.Looper.loop(Looper.java:137)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at android.app.ActivityThread.main(ActivityThread.java:5041)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at java.lang.reflect.Method.invokeNative(Native Method)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at java.lang.reflect.Method.invoke(Method.java:511)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-09 17:55:10.803: E/AndroidRuntime(27247):    at dalvik.system.NativeStart.main(Native Method)

person AndyError    schedule 09.04.2014    source источник


Ответы (4)


См. Эту ссылку, чтобы лучше понять DDMS и logcat.

а также

Я всегда смотрю в журнал кота сверху вниз и ищу первую строку, в которой говорится, что в MYCLASS это последнее место, где произошла ошибка.

person Lal    schedule 09.04.2014
comment
Если мой ответ помог вам, проголосуйте за мой ответ .. @ user3515725 - person Lal; 10.04.2014

Уровень: в LogCat есть пять типов уровней.

Log.i: это информационное сообщение

Log.v: Подробно

Log.d: Отладка

Log.e: Ошибка

Log.w: Предупреждение

PID: идентификатор процесса.

TID: идентификатор темы

Приложение: название приложения.

TAG: TAG - это определяемая пользователем строковая переменная (например, static final String TAG = "debug";)

Текст: текст ошибки. Дополнительные сведения см. здесь. .

person Zohra Khan    schedule 09.04.2014
comment
В чем заключалась ошибка, чтобы мы могли объяснить вам более подробно? - person Zohra Khan; 09.04.2014

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

  • Log.e: Это когда случается что-то плохое. Используйте этот тег в таких местах, как внутри отлова. Вы знаете, что произошла ошибка, и поэтому вы регистрируете ошибку.

  • Log.w: используйте это, когда подозреваете, что происходит что-то темное. Возможно, вы не полностью находитесь в режиме ошибки, но, возможно, вы оправились от какого-то неожиданного поведения. По сути, используйте это для регистрации того, чего вы не ожидали, но это не обязательно ошибка. Что-то вроде «эй, это случилось, и это странно, мы должны это изучить».

  • Log.i: используйте для публикации полезной информации в журнале. Например:
    что вы успешно подключились к серверу. В основном используйте его, чтобы сообщать об успехах.

  • Log.d: используйте это в целях отладки. Если вы хотите распечатать кучу сообщений, чтобы вы могли регистрировать точный поток вашей программы, используйте это. Если вы хотите вести журнал значений переменных, используйте это.

  • Log.v: используйте это, если хотите совсем сойти с ума с журналированием
    . Если по какой-то причине вы решили регистрировать каждую мелочь в определенной части вашего приложения, используйте тег Log.v.

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

пример:

Log.i("your tag" , "your text");


Когда эта строка выполняется в вашем коде, она будет напечатана в вашем logCar, и вы сможете ее увидеть.


Надеюсь, это поможет вам

person Hamid Reza    schedule 09.04.2014

В общем, вам нужно смотреть только на три части бревенчатой ​​кошки:

приложение (приложение, которое выдало ошибку)

Тег (вы можете установить тег в определенных обстоятельствах, чтобы увидеть, где скрывается ваша ошибка, или он уже будет установлен в той части системы Android, которая вызвала ошибку)

Текст (это покажет фактическую ошибку вместе с номерами строк в вашем коде)

Что касается вашего вопроса об этой конкретной ошибке, нам нужно будет увидеть все строки в ошибке, чтобы ее идентифицировать (обычно это красный блок сообщений)

наконец, я оставлю вас с этим ....

Log.d("Tag", "Text");

поместите это где-нибудь в своем коде и измените тег на свое имя, а текст на название вашей деятельности, затем запустите программу. когда он достигнет приведенного выше кода, он напечатает ваше сообщение в журнале cat .... это хороший способ узнать, где вы находитесь в вашем коде при сбое, по какому тегу журнала ближе всего в logcat

(может потребоваться импорт журнала)

person Technivorous    schedule 09.04.2014