我使用Xcode 4.3.2和lldb作爲我的調試器。如何在Xcode的_WebThreadLockFromAnyThread上設置符號斷點?
我繼承其包含從輔助線程調用的UIKit代碼的項目,如由這些日誌消息:
2012-05-02 21:48:14.603 APPNAME開發[77594:16e0f] void _WebThreadLockFromAnyThread(bool),0x8d5f810:從主線程或Web線程以外的線程獲取Web鎖定。不應該從輔助線程調用UIKit 。
我已經清理了大部分從輔助線程發出UIKit調用的代碼,但我仍然偶爾會在日誌中看到這條消息。該應用程序沒有崩潰,因此很難確定問題的出在哪裏。
我想設置一個斷點上_WebThreadLockFromAnyThread
,但是當我嘗試使用設置一個斷點符號:
b _WebThreadLockFromAnyThread
調試器告訴我:
斷點設置--name「 _WebThreadLockFromAnyThread'Breakpoint created:12:name ='_WebThreadLockFromAnyThread',locations = 0 (pending)警告:無法將斷點解析爲任何實際的 位置。
我也嘗試在斷點導航器中使用UI創建符號斷點,但我不確定要爲模塊輸入什麼。當我將模塊留空時,會創建斷點,但當日志消息出現在調試控制檯中時,它仍然不會中斷。
任何人都可以告訴我如何可以在_WebThreadLockFromAnyThread
上添加斷點,以及我將如何確定該符號的定義模塊是什麼?
太棒了,非常感謝!我最終使用了下面類似的命令,它也設置了一個條件,只有在主線程之外調用該函數時纔會中斷:'break set -n WebThreadLockFromAnyThread -c'(BOOL)[NSThread isMainThread]'' – Greg