LLDB調(diào)試斷點(diǎn)增加條件

在一些重復(fù)性的UI控件的界面時(比如tableView),根據(jù)數(shù)據(jù)源加載了很多個控件,這時個別控件出現(xiàn)了意料之外的情況,如果在控件代碼內(nèi)部斷點(diǎn),則會走過斷點(diǎn)很多次,不方便確認(rèn)位置,這時可以根據(jù)數(shù)據(jù)源去增加斷點(diǎn)的執(zhí)行限定條件 然后斷在該方法的某一次執(zhí)行中

talk is cheap ,show me the code

Xcode可以在右側(cè)控制欄創(chuàng)建斷點(diǎn)

創(chuàng)建斷點(diǎn)

選擇Symbolic Breakpoint


創(chuàng)建一個斷點(diǎn)

先寫個類

//類objcA

@interface objcA :NSObject

@property (nonatomic, assign) NSInteger count;

@end

再寫個方法

//類ViewController

- (void)xxxWithobjc:(objcA *)objc{

? ? NSLog(@"do something here");

}

右鍵編輯(注意是方法對應(yīng)的那個斷點(diǎn) ,不是下面的子斷點(diǎn))

編輯斷點(diǎn)

symbol是符號,也就是符號斷點(diǎn),寫法就像例子那樣"-[ViewController xxxWithobjc:]",加減號是說明類型(類方法,實(shí)例方法)

添加條件和事件

這里寫的條件是參數(shù)objc的屬性count為1時執(zhí)行斷點(diǎn),斷點(diǎn)會斷在方法一開時的地方,

ignore是忽略前n次不執(zhí)行斷點(diǎn),優(yōu)先級在condition之上

module是限定在某個模塊內(nèi)

Action是添加事件,有l(wèi)og shell sound等

完成

run一下,然后大聲喊出那句話

運(yùn)行

這樣就可以給斷點(diǎn)的觸發(fā)增加現(xiàn)在條件,提升了debug的效率

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。