LLDB調(diào)試工具簡介:1-常用命令

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中提供了pop兩個命令來輸出對象或變量的值,其中:

  • 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


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

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

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