1. ホーム
  2. ios

[解決済み] LLDB (Swift)。生のアドレスを使用可能な型にキャストする

2022-10-03 23:14:07

質問

生のアドレスを使用可能な Swift クラスにキャストできる LLDB コマンドはありますか?

例えば

(lldb) po 0x7df67c50 as MKPinAnnotationView

このアドレスがMKPinAnnotationViewを指していることは分かっていますが、私が選択できるフレームには入っていません。しかし、私はそのプロパティを調べることができるように、生のアドレスをMKPinAnnotationViewにキャストしたいのです。これは可能ですか?

どのように解決するのですか?

Xcode 8.2.1 と Swift 3 では、lldb コマンドは po または p は型付き変数では動作しません。swiftコマンドを使用する必要があります。 プリント を使って、型付けされたオブジェクトのインスタンスのプロパティを調べることができます。 (おかげさまで cbownsの回答 !) 例.

expr -l Swift -- import UIKit
expr -l Swift -- let $pin = unsafeBitCast(0x7df67c50, to: MKPinAnnotationView.self)
expr -l Swift -- print($pin.alpha)