Swiftを使用するときにシンボリックブレークポイントをlldbに設定するにはどうすればよいですか?例えば、時々私が使用していない:Swiftとlldbを使ってシンボリックブレークポイントを設定する
(lldb) b set -F '-[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded]'
しかし、これはもはや作品:
ブレークポイント2:なし場所(保留します)。警告: ブレークポイントを実際の場所に解決できません。
私も
(lldb) b set -F 'UIView.updateConstraintsIfNeeded()'
(lldb) b set -F 'UIView.updateConstraintsIfNeeded'
しかし、無愛を試してみました。私は、lldbがSwiftを使うときに "完全修飾された関数名"とみなされることに疑問があると思う。ドキュメントは言う:
-F(--fullname)
は、完全修飾関数名でブレークポイントを設定します。 C++の場合、 は名前空間とすべての引数を意味し、Objective Cの場合はこれは クラスとセレクタを持つ完全な関数プロトタイプを意味します。 を複数回繰り返して、複数の名前に対して1つのブレークポイントを作成することができます。
スウィフトはどうですか?
あなたは私の質問に答えました。ありがとう!では、Xcodeの "シンボルブレークポイントの追加" UI(lldbコマンドラインとは対照的に)を使用して同等のブレークポイントを設定することはできませんか?つまり、Swift-mangledシンボル名を知らなくても... –
Xcodeのシンボルブレークポイントは 'break set -n'と同じです。これは、より緩やかな名前の一致である傾向がありますので、 "ブレークポイント言語"はそれほど重要ではありません(ただし、Foo :: Bar vrs。SwiftのFoo.Barを実行したい場合は、言語が重要です)。 'ブレークポイントは、彼らがあまりにも広いネットをキャストすることです。しかし、Xcode UIでは、検索する共有ライブラリを指定することもできます。これにより、ノイズを多少減らすことができます。 –