美文网首页
Android高效调试技巧01——Log.getStackTra

Android高效调试技巧01——Log.getStackTra

作者: Peak_jianshu | 来源:发表于2017-04-21 10:59 被阅读467次

    在排查问题时我们常常迷失在错综复杂的方法调用中,特别是做系统开发,模块关系尤其复杂。今天介绍 android.util.Log 的一个方法 getStackTraceString,可以帮助我们理清调用关系。

    用法如下:Log.i(TAG,Log.getStackTraceString(new Throwable()));。我们写一个简单的例子来看看它的使用,例子很简单,定义一个按钮,点击按钮后调用 test 方法:

private void test() {

    Log.i(TAG,Log.getStackTraceString(new Throwable()));

}

    打印出的结果如下:

HelloActivity: java.lang.Throwable

HelloActivity:     at com.example.android.helloactivity.HelloActivity.test(HelloActivity.java:86)

HelloActivity:     at com.example.android.helloactivity.HelloActivity.onClick(HelloActivity.java:80)

HelloActivity:     at android.view.View.performClick(View.java:5675)

HelloActivity:     at android.view.View$PerformClick.run(View.java:22641)

HelloActivity:     at android.os.Handler.handleCallback(Handler.java:836)

HelloActivity:     at android.os.Handler.dispatchMessage(Handler.java:103)

HelloActivity:     at android.os.Looper.loop(Looper.java:203)

HelloActivity:     at android.app.ActivityThread.main(ActivityThread.java:6347)

HelloActivity:     at java.lang.reflect.Method.invoke(Native Method)

HelloActivity:     at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)

HelloActivity:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)

    可以看到它把 test 方法的整个调用过程打印了出来,是不是很有用?

相关文章

网友评论

      本文标题:Android高效调试技巧01——Log.getStackTra

      本文链接:https://www.haomeiwen.com/subject/boxdzttx.html