![](/img/trans.png)
[英]Xcode LLDB: How do I set a conditional breakpoint based on the this pointer?
[英]Set conditional breakpoint for certain thread only in Xcode/LLDB
我正在使用一些GCD代碼,該代碼調度一堆類似的異步塊。 我想通過逐步調試這些塊之一來調試它,因此我在該塊頂部附近的某個地方設置了一個斷點,但是每次提交新塊時調試器都會命中該斷點,因此我從不設法通過塊,我只是在同一行的不同線程之間交換。
我的問題是如何設置斷點,使其以某個線程為條件? 即它應該僅在線程4上執行時才觸發?
編輯
我應該補充一點,我的塊的代碼非常耗時,因此調度程序可以在執行該塊中的下一行之前交換到另一個線程上,並且另一個新調度的GCD塊輪到它觸發相同的斷點。
我不認為這是通過Xcode Breakpoints UI公開的,但是在lldb中,您可以修改斷點,以便僅在(1)線程名稱匹配,(2)分派隊列名稱匹配,(3)線程ID匹配或(4)線程索引號匹配。 您可以在創建斷點( breakpoint set
)時指定這些條件,也可以通過breakpoint modify
斷點將這些條件添加到現有斷點。 請參閱調試器控制台窗口中的help breakpoint modify
以獲取允許的參數列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.