3
如何在使用Swift時在lldb中設置符號斷點?例如,有時我用:用Swift和lldb設置符號斷點
(lldb) b set -F '-[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded]'
但這不再起作用:
斷點2:沒有位置(待定)。警告:無法將 斷點解析到任何實際位置。
我也試過
(lldb) b set -F 'UIView.updateConstraintsIfNeeded()'
(lldb) b set -F 'UIView.updateConstraintsIfNeeded'
但沒有愛。我想這個問題歸結於當使用Swift時lldb認爲「完全限定的函數名稱」。該文件說:
-F(--fullname)
由完全合格的函數名設置斷點。對於C++來說,這個 意味着命名空間和所有參數,對於Objective C,這意味着 帶有類和選擇器的全功能原型。可以多次重複 以爲多個名稱創建一個斷點。
斯威夫特呢?
你回答了我的問題。謝謝!那麼是不是可以使用Xcode的「添加符號斷點」UI(而不是從lldb命令行)設置等同的斷點?也就是說,在不知道Swift-mangled符號名稱的情況下...... –
Xcode的符號斷點相當於break -n。這往往是一個非常鬆散的名稱匹配,所以「斷點語言」並不重要(儘管如果你想做Foo :: Bar vrs。Swift的Foo.Bar語言將會很重要。)'-n的主要問題'斷點是他們投了一個太寬的網。但Xcode UI還允許您指定共享庫進行搜索,這可以稍微降低噪音。 –