Eclipse的logcat的调试 [英] Eclipse logcat debugging
问题描述
我有一个初学者的问题,我想调试我的应用程序,我不知道如何用正确的logcat
现在,我得到这个错误,我不知道这意味着什么。
我该如何使用这些信息? 是否有一个教程的地方我可以看?
感谢您的帮助。
11月9日至23号:27:55.968:E / AndroidRuntime(807):致命异常:主要
11月9日至23日:27:55.968:E / AndroidRuntime(807):显示java.lang.NullPointerException
11月9日至23日:27:55.968:E / AndroidRuntime(807):在com.uniqueapps.runner.Start.onClick(Start.java:49)
11月9日至23日:27:55.968:E / AndroidRuntime(807):在android.view.View.performClick(View.java:4240)
11月9日至23日:27:55.968:E / AndroidRuntime(807):在android.view.View $ PerformClick.run(View.java:17721)
11月9日至23日:27:55.968:E / AndroidRuntime(807):在android.os.Handler.handleCallback(Handler.java:730)
11月9日至23日:27:55.968:E / AndroidRuntime(807):在android.os.Handler.dispatchMessage(Handler.java:92)
11月9日至23日:27:55.968:E / AndroidRuntime(807):在android.os.Looper.loop(Looper.java:137)
11月9日至23日:27:55.968:E / AndroidRuntime(807):在android.app.ActivityThread.main(ActivityThread.java:5103)
11月9日至23日:27:55.968:E / AndroidRuntime(807):在java.lang.reflect.Method.invokeNative(本机方法)
11月9日至23日:27:55.968:E / AndroidRuntime(807):在java.lang.reflect.Method.invoke(Method.java:525)
11月9日至23日:27:55.968:E / AndroidRuntime(807):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:737)
11月9日至23日:27:55.968:E / AndroidRuntime(807):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11月9日至23日:27:55.968:E / AndroidRuntime(807):在dalvik.system.NativeStart.main(本机方法)
11月9日至23日:27:59.528:I /处理(807):发送信号。 PID:807 SIG:9
11月9日至23日:28:01.108:D / gralloc_goldfish(877):没有GPU的仿真模拟器检测。
11月9日至23日:54:55.318:D / gralloc_goldfish(937):没有GPU的仿真模拟器检测。
11月9日至23日:54:57.887:I /编舞(937):跳过35帧!该应用程序可能会做它的主线程的工作太多了。
11月9日至23日:55:03.118:D / dalvikvm(937):GC_FOR_ALLOC释放89K,7%免费2928K / 3136K,暂停39MS,总72ms的
11月9日至23日:55:05.858:D / AndroidRuntime(937):关闭虚拟机
11月9日至23日:55:05.858:W / dalvikvm(937):主题ID = 1:螺纹退出与未捕获的异常(组= 0x414c4700)
11月9日至23日:55:05.868:E / AndroidRuntime(937):致命异常:主要
11月9日至23日:55:05.868:E / AndroidRuntime(937):显示java.lang.NullPointerException
11月9日至23日:55:05.868:E / AndroidRuntime(937):在com.uniqueapps.runner.Start.onClick(Start.java:49)
11月9日至23日:55:05.868:E / AndroidRuntime(937):在android.view.View.performClick(View.java:4240)
11月9日至23日:55:05.868:E / AndroidRuntime(937):在android.view.View $ PerformClick.run(View.java:17721)
11月9日至23日:55:05.868:E / AndroidRuntime(937):在android.os.Handler.handleCallback(Handler.java:730)
11月9日至23日:55:05.868:E / AndroidRuntime(937):在android.os.Handler.dispatchMessage(Handler.java:92)
11月9日至23日:55:05.868:E / AndroidRuntime(937):在android.os.Looper.loop(Looper.java:137)
11月9日至23日:55:05.868:E / AndroidRuntime(937):在android.app.ActivityThread.main(ActivityThread.java:5103)
11月9日至23日:55:05.868:E / AndroidRuntime(937):在java.lang.reflect.Method.invokeNative(本机方法)
11月9日至23日:55:05.868:E / AndroidRuntime(937):在java.lang.reflect.Method.invoke(Method.java:525)
11月9日至23日:55:05.868:E / AndroidRuntime(937):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:737)
11月9日至23日:55:05.868:E / AndroidRuntime(937):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11月9日至23日:55:05.868:E / AndroidRuntime(937):在dalvik.system.NativeStart.main(本机方法)
11月9日至23日:55:09.657:D / gralloc_goldfish(961):没有GPU的仿真模拟器检测。
12月9号至23日:04:20.418:D / gralloc_goldfish(1006):没有GPU的仿真模拟器检测。
12月9号至23日:04:27.118:D / dalvikvm(1006):GC_FOR_ALLOC释放96K,7%免费2919K / 3136K,暂停40毫秒,总72ms的
12月9号至23日:04:30.337:D / AndroidRuntime(1006):关闭虚拟机
12月9号至23日:04:30.357:W / dalvikvm(1006):主题ID = 1:螺纹退出与未捕获的异常(组= 0x414c4700)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):致命异常:主要
12月9号至23日:04:30.397:E / AndroidRuntime(1006):显示java.lang.NullPointerException
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在com.uniqueapps.runner.Start.onClick(Start.java:49)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在android.view.View.performClick(View.java:4240)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在android.view.View $ PerformClick.run(View.java:17721)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在android.os.Handler.handleCallback(Handler.java:730)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在android.os.Handler.dispatchMessage(Handler.java:92)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在android.os.Looper.loop(Looper.java:137)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在android.app.ActivityThread.main(ActivityThread.java:5103)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在java.lang.reflect.Method.invokeNative(本机方法)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在java.lang.reflect.Method.invoke(Method.java:525)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:737)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12月9号至23日:04:30.397:E / AndroidRuntime(1006):在dalvik.system.NativeStart.main(本机方法)
12月9号至23日:04:33.918:D / gralloc_goldfish(1030):没有GPU的仿真模拟器检测。
在看
致命异常:主要
您将看到的问题,这里 NPE
11月9日至23号:27:55.968:E / AndroidRuntime(807):显示java.lang.NullPointerException
然后你发现,它引用您的应用程序中的第一道防线。这是下面的行
在com.uniqueapps.runner.Start.onClick(Start.java:49)
这表示,在 Start.java
什么是空
在的onClick()
在第49行让你去该行看看有什么的可以的是空
...像一个变量,试图访问的方法,如的setText()
,的getText()
,或任何Android或用户定义的方法。有时它是简单的,为什么它是空
,有时你不得不回进一步的跟踪,看看是什么使得它空
。
修改
如果一个变量是空
那是因为它尚未正确初始化或在所有。因此,也许你有一个变量 TextView的电视;
,但你从来没有给它一个值通过执行类似
电视=(TextView中)findViewById(R.id.myTV);
如果你试图做类似 tv.setText(一些文本);
,你会得到一个 NPE
因为你不喜欢的东西的code以上行初始化。或者,也许你想初始化和用错了 ID
就像一个来自不同布局
。这将返回空
键,以同样的方式创建一个 NPE
。这可能是在您尝试调用一个方法的任何变量。
I have a beginner question, I want to debug my app and i don't know how to use the Logcat properly.
Right now, I am getting this error and i don't know what it means.
How can i use this information? Is there a tutorial somewhere i can watch?
Thanks for your help.
09-23 11:27:55.968: E/AndroidRuntime(807): FATAL EXCEPTION: main
09-23 11:27:55.968: E/AndroidRuntime(807): java.lang.NullPointerException
09-23 11:27:55.968: E/AndroidRuntime(807): at com.uniqueapps.runner.Start.onClick(Start.java:49)
09-23 11:27:55.968: E/AndroidRuntime(807): at android.view.View.performClick(View.java:4240)
09-23 11:27:55.968: E/AndroidRuntime(807): at android.view.View$PerformClick.run(View.java:17721)
09-23 11:27:55.968: E/AndroidRuntime(807): at android.os.Handler.handleCallback(Handler.java:730)
09-23 11:27:55.968: E/AndroidRuntime(807): at android.os.Handler.dispatchMessage(Handler.java:92)
09-23 11:27:55.968: E/AndroidRuntime(807): at android.os.Looper.loop(Looper.java:137)
09-23 11:27:55.968: E/AndroidRuntime(807): at android.app.ActivityThread.main(ActivityThread.java:5103)
09-23 11:27:55.968: E/AndroidRuntime(807): at java.lang.reflect.Method.invokeNative(Native Method)
09-23 11:27:55.968: E/AndroidRuntime(807): at java.lang.reflect.Method.invoke(Method.java:525)
09-23 11:27:55.968: E/AndroidRuntime(807): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-23 11:27:55.968: E/AndroidRuntime(807): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-23 11:27:55.968: E/AndroidRuntime(807): at dalvik.system.NativeStart.main(Native Method)
09-23 11:27:59.528: I/Process(807): Sending signal. PID: 807 SIG: 9
09-23 11:28:01.108: D/gralloc_goldfish(877): Emulator without GPU emulation detected.
09-23 11:54:55.318: D/gralloc_goldfish(937): Emulator without GPU emulation detected.
09-23 11:54:57.887: I/Choreographer(937): Skipped 35 frames! The application may be doing too much work on its main thread.
09-23 11:55:03.118: D/dalvikvm(937): GC_FOR_ALLOC freed 89K, 7% free 2928K/3136K, paused 39ms, total 72ms
09-23 11:55:05.858: D/AndroidRuntime(937): Shutting down VM
09-23 11:55:05.858: W/dalvikvm(937): threadid=1: thread exiting with uncaught exception (group=0x414c4700)
09-23 11:55:05.868: E/AndroidRuntime(937): FATAL EXCEPTION: main
09-23 11:55:05.868: E/AndroidRuntime(937): java.lang.NullPointerException
09-23 11:55:05.868: E/AndroidRuntime(937): at com.uniqueapps.runner.Start.onClick(Start.java:49)
09-23 11:55:05.868: E/AndroidRuntime(937): at android.view.View.performClick(View.java:4240)
09-23 11:55:05.868: E/AndroidRuntime(937): at android.view.View$PerformClick.run(View.java:17721)
09-23 11:55:05.868: E/AndroidRuntime(937): at android.os.Handler.handleCallback(Handler.java:730)
09-23 11:55:05.868: E/AndroidRuntime(937): at android.os.Handler.dispatchMessage(Handler.java:92)
09-23 11:55:05.868: E/AndroidRuntime(937): at android.os.Looper.loop(Looper.java:137)
09-23 11:55:05.868: E/AndroidRuntime(937): at android.app.ActivityThread.main(ActivityThread.java:5103)
09-23 11:55:05.868: E/AndroidRuntime(937): at java.lang.reflect.Method.invokeNative(Native Method)
09-23 11:55:05.868: E/AndroidRuntime(937): at java.lang.reflect.Method.invoke(Method.java:525)
09-23 11:55:05.868: E/AndroidRuntime(937): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-23 11:55:05.868: E/AndroidRuntime(937): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-23 11:55:05.868: E/AndroidRuntime(937): at dalvik.system.NativeStart.main(Native Method)
09-23 11:55:09.657: D/gralloc_goldfish(961): Emulator without GPU emulation detected.
09-23 12:04:20.418: D/gralloc_goldfish(1006): Emulator without GPU emulation detected.
09-23 12:04:27.118: D/dalvikvm(1006): GC_FOR_ALLOC freed 96K, 7% free 2919K/3136K, paused 40ms, total 72ms
09-23 12:04:30.337: D/AndroidRuntime(1006): Shutting down VM
09-23 12:04:30.357: W/dalvikvm(1006): threadid=1: thread exiting with uncaught exception (group=0x414c4700)
09-23 12:04:30.397: E/AndroidRuntime(1006): FATAL EXCEPTION: main
09-23 12:04:30.397: E/AndroidRuntime(1006): java.lang.NullPointerException
09-23 12:04:30.397: E/AndroidRuntime(1006): at com.uniqueapps.runner.Start.onClick(Start.java:49)
09-23 12:04:30.397: E/AndroidRuntime(1006): at android.view.View.performClick(View.java:4240)
09-23 12:04:30.397: E/AndroidRuntime(1006): at android.view.View$PerformClick.run(View.java:17721)
09-23 12:04:30.397: E/AndroidRuntime(1006): at android.os.Handler.handleCallback(Handler.java:730)
09-23 12:04:30.397: E/AndroidRuntime(1006): at android.os.Handler.dispatchMessage(Handler.java:92)
09-23 12:04:30.397: E/AndroidRuntime(1006): at android.os.Looper.loop(Looper.java:137)
09-23 12:04:30.397: E/AndroidRuntime(1006): at android.app.ActivityThread.main(ActivityThread.java:5103)
09-23 12:04:30.397: E/AndroidRuntime(1006): at java.lang.reflect.Method.invokeNative(Native Method)
09-23 12:04:30.397: E/AndroidRuntime(1006): at java.lang.reflect.Method.invoke(Method.java:525)
09-23 12:04:30.397: E/AndroidRuntime(1006): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-23 12:04:30.397: E/AndroidRuntime(1006): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-23 12:04:30.397: E/AndroidRuntime(1006): at dalvik.system.NativeStart.main(Native Method)
09-23 12:04:33.918: D/gralloc_goldfish(1030): Emulator without GPU emulation detected.
After you see
FATAL EXCEPTION: main
you will see the problem, here a NPE
09-23 11:27:55.968: E/AndroidRuntime(807): java.lang.NullPointerException
then you find the first line that references your app. Here it is the following line
at com.uniqueapps.runner.Start.onClick(Start.java:49)
This says that in Start.java
something is null
in onClick()
at line 49. So you go to that line and see what could be null
...like a variable that tries to access a method such as setText()
, getText()
, or any Android or user defined method. Sometimes it is simple why it is null
and sometimes you have to trace back further to see what makes it null
.
Edit
If a variable is null
it is because it hasn't been initialized properly, or at all. So maybe you have a variable TextView tv;
but you never gave it a value by doing something like
tv = (TextView) findViewById(R.id.myTV);
if you try to do something like tv.setText("Some Text");
you will get a NPE
because you didn't initialize it with something like the above line of code. Or maybe you tried to initialize it and used the wrong id
like one from a different layout
. This will return null
and create a NPE
in the same way. This can be on any variable that you try to call a method on.
这篇关于Eclipse的logcat的调试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!