Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse logcat调试_Java_Android_Eclipse_Debugging_Logcat - Fatal编程技术网

Java Eclipse logcat调试

Java Eclipse logcat调试,java,android,eclipse,debugging,logcat,Java,Android,Eclipse,Debugging,Logcat,我有一个初学者问题,我想调试我的应用程序,但我不知道如何正确使用Logcat 现在,我得到了这个错误,我不知道这意味着什么 我如何使用这些信息? 有我可以看的教程吗 谢谢你的帮助 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

我有一个初学者问题,我想调试我的应用程序,但我不知道如何正确使用Logcat

现在,我得到了这个错误,我不知道这意味着什么

我如何使用这些信息? 有我可以看的教程吗

谢谢你的帮助

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.

它在Start.java文件的第49行显示为NullPointerException

Logcat允许您从左盘筛选所有日志。那边最好的东西是什么。

你看了之后

FATAL EXCEPTION: main
您将看到问题,这里是一个
NPE

09-23 11:27:55.968: E/AndroidRuntime(807): java.lang.NullPointerException
然后找到引用应用程序的第一行。这是下面的一行

at com.uniqueapps.runner.Start.onClick(Start.java:49)
这表示在
Start.java
中,第49行的
onClick()
中有东西是
null
。因此,您转到该行,查看什么可以是
null
…就像一个试图访问方法的变量,例如
setText()
getText()
,或者任何Android或用户定义的方法。有时它是
null
的原因很简单,有时您必须进一步回溯以查看是什么导致它
null

编辑

如果变量
null
是因为它没有正确初始化,或者根本没有初始化。所以也许你有一个变量
TextView-tv
 tv = (TextView) findViewById(R.id.myTV);

如果您尝试执行类似于
tv.setText(“一些文本”)的操作
您将得到一个
NPE
,因为您没有使用类似于上面代码行的东西初始化它。或者您试图初始化它,但使用了错误的
id
,就像来自不同
布局的id一样。这将返回
null
,并以相同的方式创建
NPE
。这可以是您试图调用方法的任何变量。

您可以尝试使用logcat的以下技巧

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    System.out.println("1. Before Declare");

    textView = (TextView) findViewById(R.id.textView);

    System.out.println("2. After Declare"); 

}

查看logcat上的结果,然后您可以在第49行看到您的步骤。

一些东西
Start.java
null。给我们Start.java的代码检查Start.java的第49行是否有东西给出null。或者发布Start.java+1的完整代码以供询问。大多数初学者,即使在你告诉他们问题是什么以及问题的确切位置之后,也没有好奇心去问这个问题。顺便说一句,接下来学习如何使用调试器。Logcat不用于调试(好吧,有时是,但不适合初学者)。祝你好运。真的很好的信息。当某个值为空时,是因为代码拼写错误,还是因为代码错误而发送空值?对不起,我应该解释一下。请参阅我对我的答案的编辑。这意味着它没有给出值或尝试过,其值为
null