我是android的初学者。我不懂android LogCat.Please帮帮我。
LogCat有七列。如何每列(级别,时间,PID,TID,应用程序,标记,文本)请告诉我。
请给我一些解释这个错误。什么是工作列(FATAL EXCEPTION: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)
答案 0 :(得分:1)
级别:LogCat中有五种级别
Log.i
:这是一条信息性消息
Log.v
:详细
Log.d
:调试
Log.e
:错误
Log.w
:警告
PID :进程ID
TID :主题ID
申请:申请名称
TAG :TAG是用户定义的字符串变量(例如,静态最终字符串TAG =" debug&#34 ;;)
文字:错误文字 请查看here了解更多信息。
答案 1 :(得分:1)
在android中你可以使用log来理解你的代码执行,这里有区别:
Log.e:这是为了发生坏事。在地方使用此标记 比如里面的捕获物。你知道并且发生了错误 因此,您正在记录错误。
Log.w:当你怀疑有阴影的时候使用它。你可以 在错误模式下不完全完全,但也许你从中恢复 一些意外的行为。基本上,使用它来记录你没有的东西 期望发生,但不一定是错误。有点像"嘿, 这发生了,而且很奇怪,我们应该调查一下。"
Log.i:使用此命令将有用信息发布到日志中。例如:
您已成功连接到服务器。基本上用它来
报告成功。
Log.d:用于调试目的。如果你想打印出来 一堆消息,以便您可以记录您的程序的确切流程,使用 这个。如果要保留变量值的日志,请使用此。
Log.v:当你想要完全坚持你的时候使用它 日志记录。如果由于某种原因你决定记录每一件小事 在应用的特定部分中,使用Log.v标记。
您可以使用它们,它们可以帮助您跟踪代码,并找到崩溃的位置!或其他什么。
例子:
Log.i("your tag" , "your text");
当该行在您的代码中执行时,它将打印在您的logCar
中,您可以看到它。
希望它能帮到你
答案 2 :(得分:0)
答案 3 :(得分:0)
一般来说,您需要查看的日志猫只有三个部分是
应用程序(抛出错误的应用程序)
标签(您可以在某些情况下设置标签以查看您的错误隐藏的位置,或者它将被设置为安卓系统中引发错误的部分)
文字(这将显示实际错误以及代码中产生的行号)
关于那个特定错误的问题,我们需要查看错误中的所有行来识别它,(通常是红色的消息块)
最后我会留下你的....
Log.d("Tag", "Text");
将其放在您的代码中,并将标记更改为您的名称,将文本更改为您的活动名称,然后运行该程序。当它到达上面的代码时,它会将你的消息打印到log cat ....这是一个很好的方法,可以知道你崩溃时代码中的位置,logcat中哪个日志标记最接近
(您可能需要导入日志)