1

大規模な (> 30k 行) イベント駆動型アプリに取り組んでいます。バグを引き起こす一連の入力があります。私がやりたいことは、最終的な入力がコードに入るとすぐに中断することです。

それを行う一般的な方法はありますか?

入力の特定のシーケンスについて、最後の入力がコードに入力される場所を見つけて、そこにブレークポイントを設定できることを理解しています。私がやりたいことは、「最後の入力がコードに入った場所を見つける」というステップを取り除くことです。つまり、シミュレーターでアプリを実行していて、「次にシステム以外の Objective C コードを入力するときにブレークする」というフラグをどこかに設定したいと考えています。次に、問題の原因となったイベントを送信します。

4

2 に答える 2

1

ご質問の内容は理解できますが、Exception Breakpointを使用してみましたか? これは基本的に、例外をスローするコード部分に自動挿入されるブレークポイントのように機能します。それがうまくいかない場合は、シンボリックブレークポイントを試してください

于 2012-04-30T18:00:55.080 に答える
0

UI イベントをインターセプトしたい場合は、UIWindowそのメソッドをサブクラス化してオーバーライドしsendEvent:、メインの XIB ファイルでこのクラスを UIWindow オブジェクトのクラスとして設定します。sendEvent:ユーザーがタッチイベントを生成するたびに呼び出されます。残念ながら、この時点では、どの UI オブジェクトが最終的にイベントを消費するか (どのイベント ハンドラー コードが最終的に呼び出されるか) を知ることはできません。これは、レスポンダー チェーンの実際の状態に依存するためです。とにかく、このメソッドを使用してシステムにイベントを挿入できます。

于 2012-04-30T22:15:46.550 に答える