19

変数があるself.positionとします。その値が変更されるたびに Xcode を壊すにはどうすればよいですか (多くのメソッドで変更される可能性があります)。

4

4 に答える 4

28

条件付きブレークの場合:

  1. Cmd+option ブレークポイントをクリック
  2. 次のようにブレーク条件を追加します。

ここに画像の説明を入力

値が変更されるたびに中断する場合:

  1. 単純なセッター (およびクリーンなコードのためのゲッター) を実装します。
  2. セッターにブレークポイントを追加します。

誰がセッターを呼び出したかを確認したい場合は、スタック トレースの次の行を見てください (私の例では viewDidLoad ):

ここに画像の説明を入力

アップデート:

ウォッチポイントの追加

  1. (lldb)プロンプトがコンソールに表示されるように、任意の場所で中断します
  2. 入力しwatchpoint set variable _positionます (_position を監視したい iVar に置き換えます)
  3. 新しく作成したウォッチポイントに割り当てられたウォッチポイント番号をメモします。
  4. 条件分岐のウォッチポイントを変更します。watchpoint modify -c "_position < 0.5" 1ここで、引用符で囲まれた式は条件で、最後の数字は #3 で書き留めたウォッチポイント番号です。
  5. 走り続けます。値が条件に一致するたびにブレークし、スタック フレームを調べて呼び出し元を理解できるようになります。
于 2013-08-09T15:24:51.000 に答える
5

これを行う簡単な方法は、ウォッチ ウィンドウで変数を右クリックし、ウォッチ変数オプションを選択することです。値が変更されると、Xcode は警告を発します。

または、Key-Value Observing をご覧ください。

于 2013-08-09T15:27:21.810 に答える
2

のセッターをオーバーライドしpositionて、変数を設定するときにブレークポイントを設定できます。

于 2013-08-09T15:27:49.373 に答える