キューの表示
待ち行列にされた(enqueued) ブロックおよびスレッドに関連する問題を見つけるために、キューデバッガを使用してください。
手順
- アプリの実行を一時停止、またはそれがブレークポイントに当たるのを待ちます。
- プロセスビュー・オプション・セレクタをクリックします。
- "キューによるプロセスを表示(View process by queue)" を選択します。
デバッグナビゲータ・ペインは、実行中のブロックと、保留中のブロックがどれだけ各キューにあるかについて、階層の開閉用三角形や注釈付きのキューのリストがを表示します。それらが待ち行列とされた(enqueued) ときに待ち行列とされた保留中のブロックはその時点でバックトレースを含みます。記録されたバックトレースの中の保留中のブロックは、現在実行中ではなく、実行されるのを待っています。
キュー内のスレッドと待ち行列とされたブロックのリストを表示するには、キューの開閉用三角ボタンをクリックします。
注意: 実行中のブロックは色付きで提示されています。保留中のブロックは灰色です。
実行中と、保留中両方のブロックのスタックフレームを表示するため、ブロックの開閉用三角形をクリックしてください。
デバッグナビゲーター・フィルタバーでは、デバッグシンボルのあるスタックフレームを除くすべてをフィルター(除外) するために、左のボタンをクリックします。シンボルを持つスレッドとクラッシュしたスレッドのみを表示するために中央のボタンをクリックしてください。キューのビューモード内に記録されたバックトレースの表示を無効にするには右のボタンをクリックしてください。
注意: 記録されたバックトレースの表示は少量でステップを遅くする、処理のオーバーヘッドに陥ります。デバッガのステッピングのパフォーマンスが遅く思われるコンテキストでデバッグしている場合、保留中のブロックを表示することは必要でない場合は、このオプションは、デバッグパフォーマンスの向上に役立ちます。
名前や入力したテキストに一致するものを含むスタックフレームを持つスレッドとキューを検索するために、フィルタバーでテキストフィルタを使用してください。
スタックフレーム内でブロック要素をクリックすると、メインエディタウィンドウ内に、関連したソースをもたらし、そのスタックフレームからの変数を使用したデバッグ領域の変数ビューで占めます。
- 現在実行中のブロック内の変数の値は、表示および編集できます。シンボルを持つ記録されたバックトレースからの変数はアクティブではありません。それらは見ることだけができます。
- シンボルを含む保留中のブロックは、メインエディタの変数ビューとソース内で変数を表示します。
- シンボルのない保留中のブロックは、メインエディタ内でブロックの分解を提示します。
- コンソールペインは、記録されたバックトレースとは対話できません。
関連記事
デバッグナビゲーターについて
関連するスレッドとスタックフレームに焦点を当てて
スレッドの一時停止