斷點
設置斷點
$breakpoint set -n XXX
set 是子命令
-n 是選項 是–name 的縮寫!查看斷點列表
$breakpoint list刪除
$breakpoint delete 組號禁用/啓用
breakpoint enable 啓用遍歷整個項目中滿足Game:這個字符的所有方法
$breakpoint set -r Game:
流程控制
- 繼續執行
$continue c - 單步運行,將子函數當做整體一步執行
$n next - 單步運行,遇到子函數會進去
$s
常用命令
1)image 命令可用於尋址:
“image lookup –address + 地址” 尋找棧地址對應的代碼位置(當碰到給一堆堆棧錯誤時很有用),即可以直接定位追蹤到Bug崩潰在哪一行,像如下這種情況,崩潰是全局的,根本沒有定位到哪一行,而且很多時候lldb reason是沒有提示的,這個時候就需要用到image lookup –address命令了,當我輸入這行命令時image lookup –address 0x0000000106d94cbe,就會在後面打印出崩潰的 類名 所在方法 所在行。
2) p命令:
是輸出基本類型的,但是我們發現其實都可以用。在輸出結果中我們還能看到類似於 1這樣的符號,我們可以將其看作是指向對象的一個引用,我們在控制面板中可以直接使用這個符號來操作對應的對象,這些東西存在於LLDB的全名空間中,目的是爲了輔助調試。
3) expr命令:
可以在調試時動態執行指定表達式,並將結果打印出來。常用於在調試過程中修改變量的值,與po類似。
4) call命令:
即是調用的意思。
5)bt命令:
打印調用堆棧,加all可打印所有thread的堆棧。
6)po 命令:
是‘point object’(即打印對象,且會調用description方法)。可以在調試時動態執行指定的表達式,並將結果打印出來,是個很有用的命令。