简体   繁体   中英

Android print stack trace

How can I get the equivalent of a printStackTrace in android? I know I can log an error, by passing in a tag name and a String to the logging method, but that just gives me a nullpointerexception. If I call e.printStackTrace(), where is this data printed to?

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

If you are using eclipse make sure you have LogCat window opended. You can find it under

Window-> Show View-> Other -> Under Android -> LogCat

updated:2014 July

OR if you are using Android Studio you can find it under

Window menu -> Show view -> Logcat

LogCat is like a console in normal JAVA. Your e.printstacktrace() would appear in LogCat as well.

The data is still printed to the DDMS logs with e.printStackTrace(); You can also use Log.e("Tag", "Description", e); which will print the logs as well. DDMS is located under android-sdk/tools/ddms and logs will be shown in the bottom pane on launch.

Firstly, in case you already haven't, you should be wrapping your code in a try-catch structure, like this, for example:

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()));
}

This pseudocode will show a complete stack trace.

NEWBIE ALERT: Before publishing app, don't forget to "comment out" (using // ) this and all debugging features that may be used to expose the internals of your code. Anyone who plugs a device running your code with ADB enabled will be able to access LogCat (where Log publishes).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM