4

(lldb)プロンプトのブレークポイントで停止したコードを使用しています。オブジェクトにメッセージを送信して、その値をコンソールに出力できます。

(lldb) p [self computePI]
(float) $1 = 3.0

うわあ!この時点で何かがおかしい。どの変数が混乱しているかを把握するためのショートカットとして、computePIにステップインできるようにしたいと思います。ただし、そのセレクターにブレークポイントを設定して再試行すると、次のようになります。

(lldb) p [self computePI]
error: Execution was interrupted, reason: breakpoint 5.1.
The process has been returned to the state before execution.

この時点でどういうわけかcomputePIに足を踏み入れることができれば、リアルタイムの節約になります。これは可能ですか?私はhttp://lldb.llvm.orgを見てきましたが、何も見ていません。ご協力いただきありがとうございます。

更新: Jason Molendaの回答に基づいて、〜/.lldbinitファイルを次の便利なエイリアスで更新しました。

command alias nup expr -u 0 -- 
command alias nupo expr -u 0 -o --

これにより、nup(pの代わりに)とnupo(poの代わりに)を使用できます。

4

1 に答える 1

6

このpコマンドは、実際にはのエイリアスexpr --です。オプションの1つは、exprまたは-u---unwind-on-errorこの場合、ブレークポイントは「エラー」として扱われます(これは、それ自体がバグと見なされる可能性があります-議論の余地があります。これが異なる動作をするのは直感的ではない場合があります。 。)

とにかく、あなたはできるはずです

(lldb) expr -u false -- [self computePI]

ブレークポイントで停止します。ここでは、オプションの解析を停止する必要があることを--示しており、それ以降はすべて評価する式です。expr

于 2012-12-09T01:29:28.030 に答える