Android打印堆栈跟踪

时间:2012-12-10 02:12:50

标签: android

如何在android中获得相应的printStackTrace?我知道我可以通过将标记名称和字符串传递给日志记录方法来记录错误,但这只是给了我一个nullpointerexception。如果我调用e.printStackTrace(),这个数据打印到哪里?

4 个答案:

答案 0 :(得分:17)

Log.e("mytag", "mymessage",ex);

答案 1 :(得分:5)

如果您正在使用eclipse,请确保已打开LogCat窗口。你可以在

下找到它

<强>窗口 - &GT;显示视图 - &gt;其他 - &gt;在Android下 - &gt; logcat的

更新时间:2014年7月

如果您使用的是Android Studio,可以在

下找到它

窗口菜单 - &gt;显示视图 - &gt; logcat的

LogCat就像普通JAVA中的控制台一样。您的e.printstacktrace()也会出现在LogCat中。

答案 2 :(得分:2)

数据仍然会打印到DDMS日志中     e.printStackTrace(); 你也可以使用     Log.e(“Tag”,“Description”,e); 这也将打印日志。 DDMS位于android-sdk / tools / ddms下,日志将在启动时显示在底部窗格中。

答案 3 :(得分:0)

首先,如果你还没有,你应该将代码包装在try-catch结构中,例如:

private String TAG = "MyMethodName";  // change this to anything that makes sense to you       
try {
    ...
    Log.d(TAG, "processed OK");
} catch (Exception except) {
    Log.e(TAG,"CRASH StackTrace: "+ Arrays.toString(except.getStackTrace()));
}

此伪代码将显示完整的堆栈跟踪。

NEWBIE ALERT: 在发布应用程序之前,不要忘记“注释掉”(使用//)这个以及可能用于公开代码内部的所有调试功能。插入启用了ADB运行代码的设备的任何人都可以访问LogCat(Log发布的地方)。