簡體   English   中英

如何在Xcode的_WebThreadLockFromAnyThread上設置符號斷點?

[英]How do I set a symbolic breakpoint on _WebThreadLockFromAnyThread in Xcode?

我正在將Xcode 4.3.2和lldb用作調試器。

我繼承了一個項目,該項目包含從輔助線程調用UIKit的代碼,如以下日志消息所示:

2012-05-02 21:48:14.603 Appname Dev [77594:16e0f] void _WebThreadLockFromAnyThread(bool),0x8d5f810:從除主線程或Web線程之外的其他線程獲取Web鎖。 不應從輔助線程調用UIKit。

我已經清理了從輔助線程進行UIKit調用的大多數代碼,但有時仍會在日志中看到此消息。 該應用程序沒有崩潰,因此很難確定問題出在哪里。

我想在_WebThreadLockFromAnyThread上設置斷點,但是當我嘗試使用以下方法設置符號斷點時:

b _WebThreadLockFromAnyThread

調試器告訴我:

斷點集--name'_WebThreadLockFromAnyThread'創建的斷點:12:名稱='_WebThreadLockFromAnyThread',位置= 0(待定)警告:無法將斷點解析為任何實際位置。

我也嘗試過在斷點導航器中使用UI創建符號斷點,但是我不確定要為模塊輸入什么。 當我將模塊留空時,會創建斷點,但是當調試控制台中出現日志消息時,斷點仍然沒有中斷。

誰能告訴我如何在_WebThreadLockFromAnyThread上添加斷點,以及如何確定此符號的定義模塊?

只需刪除下划線即可。 b WebThreadLockFromAnyThread在lldb和gdb中都對我有用。 現在,這是Xcode 4.6,因此,如果您使用的是舊版本,我想這可能是4.6中不存在該版本的問題。

您可以嘗試使用nm命令或類轉儲工具來查找模塊。

很有可能不需要任何符號,因為默認情況下,xcode會生成一個“發行版”版本,如果我正確的話,它將刪除這些符號,從而使exec文件小得多。 目前還不確定如何,但是您需要找到切換到“調試”構建的選項,這將確保所有可愛的符號都在等待您的分析。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM