【小技巧】AndroidStudio利用斷點(diǎn)打印日志

你是不是有著這樣的煩惱:

  • 調(diào)試程序常常需要到處打印日志 (沒辦法,debug需要)
  • 打印日志需要對代碼進(jìn)行修改 (改來改去一不小心就忘了刪除,或者破壞了代碼)
  • 改完代碼還要重新編譯 (編譯一次要等待好久!)

怎么辦?

有沒有誰能滿足我,讓我愉快地debug?沒有天馬行空的日志代碼,沒有每次重新編譯的苦苦等待?

好吧騷年,我看你骨骼驚奇,是萬中無一的debug奇才,來來來,我偷偷告訴你,你可知AndroidStudio的斷點(diǎn)不僅僅提供斷點(diǎn)嗎?(知道的當(dāng)我沒說)

好,下面我介紹AS的一種功能:斷點(diǎn)處日志輸出。

首先看下下面這段代碼,如果我們需要打印日志,常常會像這樣做,直接在代碼中編寫Log代碼,重新編譯后在控制臺查看輸出。

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "MainActivity";
    private String mTestStr = "test";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(TAG, "mTestStr: "+mTestStr);
    }
}

然而我不想hardcode,也不想重新編譯。這時(shí)候,看看下面:


AS斷點(diǎn)-選中suspend

上圖是一個(gè)簡單的斷點(diǎn),但是我們右鍵點(diǎn)開,發(fā)現(xiàn)竟然還有一些奇怪的東東。其中Suspend暫停,若此值被選中,則代表著代碼運(yùn)行到此處會暫停,也就是我們常常使用的斷點(diǎn)功能啦。

“如果不選中呢?”
“廢話,那就是不暫停啦!”
“誒,不暫停你丫干啥吃呢?!”

別急,仔細(xì)看看,這里還另有乾坤!

AS斷點(diǎn)-取消suspend

其他的部分我就不說了(哼,我才不會說我還不懂呢),來看看今天的主角Log evaluated expression。這是什么意思呢?簡單說就是日志表達(dá)式,也就是日志輸出的內(nèi)容。
我們給Log evaluated expression打上勾,并簡單地在這里輸入想要打印的日志。咦,竟然還有提示,不錯(cuò)不錯(cuò)。

Log evaluated expression

接下來,開啟調(diào)試模式,不會開的同學(xué)可以看看下面這個(gè):


Process

點(diǎn)開后可以看到當(dāng)前能debug的進(jìn)程,選中你想調(diào)試的進(jìn)程雙擊就能綁定進(jìn)程開始調(diào)試了,具體就不多說了。

接下來,只要程序運(yùn)行到對應(yīng)的斷點(diǎn)位置(好吧,應(yīng)該不算斷點(diǎn)了吧=。=),在調(diào)試臺中就能看到日志的輸出了~~

結(jié)語

在調(diào)試模式下利用斷點(diǎn)輸出日志方便快捷,不用修改代碼也不用重新編譯。當(dāng)然,調(diào)試模式還是有缺點(diǎn)的,那就是——卡,相信大家都深有感受吧,不過比起hardcode和編譯等待時(shí)間,這點(diǎn)小卡頓常常更值得。

此外,如上文所看到的,調(diào)試模式除了日志輸出,還有其他功能等待我們探索。

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

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評論 25 709
  • 前言 最近博主臨近畢業(yè)季,為了完美的寫一篇畢業(yè)論文,真是:“鋤禾日當(dāng)午,汗滴禾下土”<—— 這句詩跟畢業(yè)我寫畢業(yè)論...
    Dav1dDay閱讀 1,237評論 1 7
  • Android Studio目前已經(jīng)成為開發(fā)Android的主要工具,用熟了可謂相當(dāng)順手。作為開發(fā)者,調(diào)試并發(fā)現(xiàn)b...
    涅槃1992閱讀 51,106評論 36 366
  • 對于開發(fā)的同學(xué)來講,Debug并不陌生,對于做Android開發(fā)的同學(xué)也是一樣的。 可能有些同學(xué)會問,調(diào)試程序誰不...
    點(diǎn)融黑幫閱讀 5,601評論 3 6
  • 少年,我的定義是從小學(xué)三年級開始到初中結(jié)束,這個(gè)階段,人接受知識是很快的,是形成個(gè)人最終價(jià)值觀的絕佳階段。我們可以...
    艾瑞克亞瑟閱讀 265評論 0 0

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