LLDB簡介
LLDB是LLVM下的調(diào)試器。Xcode從4.0開始編譯器開始改用LLVM,相應(yīng)的調(diào)試器也從gdb改為LLDB,而從 Xcode5.0開始所有工程也被自動設(shè)置為使用LLDB。
相比于原先的GCC編譯器,LLVM編譯器有如下優(yōu)點(diǎn):
- LLVM 編譯器是下一帶開源的編譯技術(shù).完全支持C, Objective-C, 和 C++.
- LLVM 速度比 GCC快兩倍,建立的程序也會運(yùn)行的更快. 因為它更好的利用現(xiàn)代的芯片的結(jié)構(gòu).
- LLVM和Xcode 4完全的整合在一起.包括關(guān)鍵字高亮,代碼完整性等全都是由LLVM語法分析器來分析的. 這樣可以在編輯的時候就可以很好的了解你的代碼.
輸出對象
在LLDB中提供了po和p兩個命令來輸出對象或變量的值,其中:
- po代表print object,可以輸出一個對象description方法中可以打印的內(nèi)容;
- p代表print,可以輸入變量的值。
斷點(diǎn)管理
在Xcode中,可以在代碼的任意位置添加斷點(diǎn)(breakpoint),對于斷點(diǎn)的管理本質(zhì)上也是由LLDB操作的,只不過通過圖形化的方式實現(xiàn)了LLDB中的命令。

LLDB中有關(guān)斷點(diǎn)管理的常用命令有:
- 查看所有斷點(diǎn):breakpoint list (簡化命令br l)
- 繼續(xù)執(zhí)行:continue (簡化命令c)
- StepOver: next (簡化命令n)
- StepIn: step (簡化命令s)
- 取消某個斷點(diǎn): breakpoint disable 斷點(diǎn)編號 (簡化命令br dis 斷點(diǎn)編號)
- 刪除某個斷點(diǎn): breakpoint delete 斷點(diǎn)編號 (簡化命令br del 斷點(diǎn)編號)
- 終止程序運(yùn)行:kill
查看棧地址對應(yīng)的代碼位置
image 命令可用于尋址,有多個組合命令,比較實用的用法是用于尋找棧地址對應(yīng)的代碼位置,在查錯過程中是可以使用。
- 查看地址對應(yīng)的代碼位置:image lookup --address 內(nèi)容地址(簡化命令im loo --a 代碼位置)
更多iOS開發(fā)教程,歡迎訪問我的博客:www.99ios.com