iOS調試奇巧淫技(二)之LLDB

來源:互聯網
上載者:User

iOS調試奇巧淫技(二)之LLDB
簡單介紹

LLDB是一個開源的內建於XCode的調試工具,可以安裝C++或者Python外掛程式。與LLDB相對應的是gdb,主要存在於基於UNIX平台的程式調試工具。

使用作用

在開發中我們經常要調試代碼,用到最多的就是print和NSLog輸出,這樣的做法在某些程度下並不太高效,LLDB的引進在某些時候替代列印函數,提高測試效率。

用法1.help

help命令的作用不言而喻,當我們遇到某個命令不知道怎麼用的時候可以通過help命令調用系統命令介紹文檔,來瞭解更多細節

比如:

                    help print

非常詳細的列印出help的具體參數用法

2.print

列印命令的用法也是不言而喻的,可以用來列印某個值

或者可以簡寫為 p (變數名稱)

3.expression

當我們想改變一個變數的值的時候用到了expression命令 簡化為 expr 、e

當然其實你也可以用print命令進行列印

通過我們可以清晰的比較到 print和expression的區別是:print並沒有改變實際參數的值,類比性的使變數稱為你所意願的值,而expression不同,是實實在在的改變了變數的值。

4.process continue 命令

簡稱 continue 或者 c。
作用於上面第一個按鈕一樣,取消程式的暫停,允許程式繼續執行下去

5.thread step-over 命令

簡稱 next,或者n

作用以黑盒的方式執行一行代碼,如果遇到的是一個函數,那麼會執行這個函數,而不是只跳進函數裡面的一行代碼

6.thread step in命令

簡稱 step 或者s

當我們想跳進一個函數裡面逐步偵錯工具的時候可以用這個命令。如果當前行不是函數則,這個命令和5.thread step-over 命令作用一致。

7.step out命令

當我們在一個函數中,想跳出這個函數,則可以運用這個命令

8.frame info命令

運行這個命令將會告訴你當前行數和源碼檔案,以及其他一些資訊

9. Thread Return命令

我們有時候調試不想執行某個函數的代碼,可以藉助這個命令在函數的開頭直接給這個函數的傳回值,這樣函數以後的代碼就沒有機會,執行直接給了個人為的傳回值 。這個命令太強大了,用時要謹慎細心,偽裝者,絕對的偽裝者。

10.breakpoint list

簡稱 br li

擷取項目中斷點的具體位置和資訊並列印

11.breakpoint enable、 breakpoint disable

對某個具體斷點開啟或關閉

12 breakpoint set

手動建立斷點

總結以上就是LLDB命令最常用的命令了,是不是歡呼LLDB如此的強大,完全在很多時候可以替代低效率的NSLog函數方法,當然LLDB還有很多命令,最後附上LLDB命令表查詢手冊,讓我們為這麼便捷的開發,為iOS、為蘋果歡呼吧!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.