디버깅이 어려운 환경에서 Stack Trace를 강제로 Logcat에 출력하고 싶을 때가 있습니다.

이럴 때 아래와 같이 Log 클래스를 사용하시면 간단히 확인할 수 있습니다.


# Log.w(TAG, "Method called on the UI thread", new Exception("STACK TRACE"));


10-05 11:00:02.789: W/TEST(697): Method called on the UI thread

10-05 11:00:02.789: W/TEST(697): java.lang.Exception: STACK TRACE

10-05 11:00:02.789: W/TEST(697): at com.example.sampleapp.MainActivity.onCreate(MainActivity.java:16)

10-05 11:00:02.789: W/TEST(697): at android.app.Activity.performCreate(Activity.java:4465)

10-05 11:00:02.789: W/TEST(697): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)

10-05 11:00:02.789: W/TEST(697): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)

10-05 11:00:02.789: W/TEST(697): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)

10-05 11:00:02.789: W/TEST(697): at android.app.ActivityThread.access$600(ActivityThread.java:123)

10-05 11:00:02.789: W/TEST(697): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)

10-05 11:00:02.789: W/TEST(697): at android.os.Handler.dispatchMessage(Handler.java:99)

10-05 11:00:02.789: W/TEST(697): at android.os.Looper.loop(Looper.java:137)

10-05 11:00:02.789: W/TEST(697): at android.app.ActivityThread.main(ActivityThread.java:4424)

10-05 11:00:02.789: W/TEST(697): at java.lang.reflect.Method.invokeNative(Native Method)

10-05 11:00:02.789: W/TEST(697): at java.lang.reflect.Method.invoke(Method.java:511)

10-05 11:00:02.789: W/TEST(697): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)

10-05 11:00:02.789: W/TEST(697): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)

10-05 11:00:02.789: W/TEST(697): at dalvik.system.NativeStart.main(Native Method)



간단한 Tip 이였습니다. ^^
그럼 수고하세요.