原文: 與調(diào)試器共舞 - LLDB 的華爾茲
p是expression --的簡寫,po是expression -o --的簡寫,--表示參數(shù)截止。e count = 10用來修改變量count的值,e NSArray* $abc = [NSArray array]用來聲明一個變量。thread return命令,它有一個可選參數(shù),在執(zhí)行時它會把可選參數(shù)加載進返回寄存器里,然后立刻執(zhí)行返回命令,跳出當前棧幀,函數(shù)剩余的部分不會被執(zhí)行。如:thread return NO-
暫停,用以下命令更新window上任一UI,點擊繼續(xù)即可看到更改后的效果:
//打印window上所有view
(lldb) po [[[UIApplication sharedApplication] keyWindow] recursiveDescription]//獲取指定的view (lldb) e id $myView = (id)0x7f82b1d01fd0 //對這個view做更改 (lldb) e (void)[$myView setBackgroundColor:[UIColor blueColor]] -
查找按鈕的target,用以下代碼獲取到按鈕的target和action,然后設(shè)置一個符號斷點即可:
//獲取$myButton的target
(lldb) po [$myButton allTargets]
//輸出
{(
<MagicEventListener: 0x7fb58bd2e240>
)}//獲取上述target的action (lldb) po [$myButton actionsForTarget:(id)0x7fb58bd2e240 forControlEvent:0] //輸出 <__NSArrayM 0x7fb58bd2aa40>( _handleTap: ) -
拓展:用debug view hierarchy 按鈕可以更便捷地獲取當前window上的視圖地址,然后用上述方法對該視圖進行修改:
debug view hierarchy 按鈕的位置

獲取某個視圖的地址
