Android高效調(diào)試技巧01——Log.getStackTraceString()

? ? 在排查問題時我們常常迷失在錯綜復(fù)雜的方法調(diào)用中,特別是做系統(tǒng)開發(fā),模塊關(guān)系尤其復(fù)雜。今天介紹 android.util.Log 的一個方法 getStackTraceString,可以幫助我們理清調(diào)用關(guān)系。

? ? 用法如下:Log.i(TAG,Log.getStackTraceString(new Throwable()));。我們寫一個簡單的例子來看看它的使用,例子很簡單,定義一個按鈕,點擊按鈕后調(diào)用 test 方法:

private void test() {

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

}

??? 打印出的結(jié)果如下:

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 方法的整個調(diào)用過程打印了出來,是不是很有用?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容