iPadアプリからクラッシュをデバッグしようとすると、LLDBがあまり役に立たないと判断し、変数(スタックまたはクラスメンバー)の出力が機能しないことがあります(非常に頻繁に意味します)。
左側のデバッグウィンドウで変数を右クリック(またはCTRL +クリック)してから[説明の印刷]を実行すると、次のようなエラーメッセージが表示されます。
Printing description of error:
(NSURLError *) error = <register sp is not available>
また
Printing description of error:
(NSURLError *) error = <register ebp is not available>
自分でデバッグコンソールを使用しようとすると、次のようになります。
(lldb) po error
(NSError *) $3 = 0x2124fc10 [no Objective-C description available]
その後、右クリックで動作が開始され、次のようになります。
Printing description of error:
(NSURLError *) error = 0x2124fc10
しかし、私が得るのはメモリアドレスだけであり、それを呼び出すことができないdescription
ようです。メッセージを送信しようとすると、次のようになりdescription
ます。
(lldb) po [error description]
error: Execution was interrupted.
The process has been returned to the state before execution.
したがって、これも役に立ちません。デバッガーを再び使用可能にするために何ができるでしょうか?私は必死にクラッシュをキャッチする必要がありますが、それを引き起こすことができるたびに上記が発生し、エラーのコアに到達する方法がわかりません。
「registernotavailablelldb」をグーグルで検索しましたが、何も見つかりませんでした。いくつかのペーストビンログだけで、回答がありません。
参考:Xcode 4.5.2、iOS SDK 6.0を使用して、「デバッグ」プロファイルをコンパイルします。最適化はオンになりません。LLDBデバッガー、iOS展開ターゲット5.0は、シミュレーターまたはデバイス(iPad 1および3、iPhone 4S、iPhone)でのデバッグ時に発生します。 3GS)、デバッグされたアプリはGCDを非常に広範囲に使用しています。