1

从 LogCat 中查找错误的方法或提示。如何从 Logcat 中查找和解决错误?

4

4 回答 4

5

我尝试解释从不同帖子中获取的 logcat 输出的一个非常基本的示例:

12-13 12:41:57.052: W/System.err(542): org.json.JSONException: No value for TAG_CONTACTS
12-13 12:41:57.052: W/System.err(542):  at org.json.JSONObject.get(JSONObject.java:354)
12-13 12:41:57.052: W/System.err(542):  at org.json.JSONObject.getJSONArray(JSONObject.java:544)
12-13 12:41:57.052: W/System.err(542):  at com.androidhive.jsonparsing.AndroidJSONParsingActivity.onCreate(AndroidJSONParsingActivity.java:56)
12-13 12:41:57.063: W/System.err(542):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-13 12:41:57.063: W/System.err(542):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
12-13 12:41:57.063: W/System.err(542):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
12-13 12:41:57.063: W/System.err(542):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
12-13 12:41:57.063: W/System.err(542):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
12-13 12:41:57.063: W/System.err(542):  at android.os.Handler.dispatchMessage(Handler.java:99)
12-13 12:41:57.072: W/System.err(542):  at android.os.Looper.loop(Looper.java:123)
12-13 12:41:57.072: W/System.err(542):  at android.app.ActivityThread.main(ActivityThread.java:3683)
12-13 12:41:57.072: W/System.err(542):  at java.lang.reflect.Method.invokeNative(Native Method)
12-13 12:41:57.072: W/System.err(542):  at java.lang.reflect.Method.invoke(Method.java:507)
12-13 12:41:57.072: W/System.err(542):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)

从第一行可以看出,异常是“JSONException”,因为“TAG_CONTACTS 没有值”。从第 4 行您可以看到,它发生在第 56 行的“AndroidJSONParsingActivity”中。现在,当您知道异常是什么以及它发生在哪里时,您应该能够解决它!

于 2012-12-13T10:20:14.737 回答
3

在 LogCat 中,您会发现在所有这些运行时错误中,文本属性下都有一个标记“Caused by”。您将单击该错误的下一行,它将指向发生该错误的代码。

于 2014-01-23T21:47:27.397 回答
1

在 Android Studio 中,您将看到 Logcat in Bottom 切换到错误,您必须阅读所有红色消息。这些是错误

于 2012-12-13T10:15:55.517 回答
1

我喜欢这种方法:

adb logcat -s System.err
于 2016-09-06T13:01:29.713 回答