2

変数が変更されたときにブレークポイントを設定したい。例えば:

......
if(downloader){
        [downloader addDelegate:sImageAutoSaver];
}
......

ダウンローダーが変更されたときにアプリを壊したい。誰が変数を変更したか知りたいからです。

4

1 に答える 1

10

ダウンローダが ivar で、Xcode 4.4 を使用している場合は、デバッガ コンソールを使用できます。initこのクラスのメソッド内またはviewDidLoad(ViewController の場合) または一般的に、ダウンローダが割り当てられる前に、通常のブレークポイントを配置します。作成されたブレークポイントで実行が停止したらwatch set variable -w write self->downloader、デバッガー コンソールに入力します。メッセージが表示Watchpoint created: Watchpoint 1: addr = 0x092359b4 ...されます。次に、続行ボタンを押すと、変数が割り当てられるたびにプログラムが停止します。

変数ブレークポイントがヒットし、アセンブリのみが表示された後、左側のナビゲーション パネルで実行スタックを調べて、アプリケーションのメソッドを探します。

于 2012-08-20T11:26:31.947 に答える