変数とスレッドを調べる
デバッグナビゲータでスレッドとスタックを確認
デバッグナビゲータ を使用して、スレッドとスタック情報を調べたり、アプリがデバッグセッションで実行されているときに デバッグゲージ を監視したりします。アプリの実行を一時停止する (デバッグエリア の[一時停止(Pause)] ボタンをクリックする) か、アプリがコードのブレークポイントに到達すると、デバッグナビゲータが自動的に開きます。自分でデバッグナビゲータを開くには、ナビゲータエリア の [デバッグナビゲータ(Debug Navigator)] ボタン () をクリックします。
デバッグゲージを使用すると、アプリが CPU パワー、メモリ、その他のリソースをどのように消費しているかを確認できます。プロセスビュー では、スタックフレームがスレッドまたはキューごとにグループ化され、メモリの場所が一覧表示されます。各スタックフレームには、そのカテゴリを示す アイコン が表示されます。
プロセスの詳細を表示または非表示にする:開閉用三角ボタンをクリックします。
項目の詳細を表示:項目を選択すると、エディタエリアとデバッグエリアに情報が表示されます。
デバッグゲージの表示を切り替える:右上隅にある [デバッグゲージの非表示/表示(Hide/Show Debug Gauges)] ボタン () をクリックします。
フラットリストとして整理されたスレッドを表示する:右上隅にあるプロセスビューセレクタアイコン () をクリックし、[プロセスをスレッド別に表示(View Process by Thread)] を選択します。
スレッドを作成したディスパッチキューの下でスレッドをグループ化します:プロセスビューセレクタアイコン () をクリックし、[キューごとにプロセスを表示(View Process by Queue)]を選択します。
エディタエリアに UI をレンダリングしながら、プロセスビューにビュー階層を表示します:プロセスビューセレクターアイコン () をクリックし、[UI 階層の表示(View UI Hierarchy)] を選択します。このアクションは、実行中のアプリを一時停止します。
メモリグラフの表示:プロセスビューセレクタアイコン () をクリックし、[メモリグラフ階層の表示(View Memory Graph Hierarchy)] を選択します。
プロセスビューのリストからメモリロケーションを削除します:メモリロケーションを選択して、Delete キーを押します。
スレッドとスタックフレームをフィルタリングします:フィルターバーに、表示したいスレッドまたはキューと一致するテキストを入力します。
デバッグシンボルなしでライブラリ間でスタックフレームを表示する:フィルターバーの左ボタンをクリックします。
クラッシュしたスレッドとデバッグシンボル付きのスレッドを表示する:フィルターバーの中央のボタンをクリックします。
キューを表示するときに実行中のブロックを表示する:フィルターバーの右ボタンをクリックします。
注意:Xcode には、スレッドビューモードとキュービューモードの両方で、現在のスタックフレームの前に記録されたバックトレースが含まれます。
スレッドによるプロセスの表示またはキューによるプロセスの表示モードでは、ステータスアイコンはスレッドの実行状態を示します。
アイコン | 説明 |
なし (None) | スレッドは正常に実行されています。 |
黄色 | スレッドはブロックされ、ロックまたは条件で待機しています。 |
赤 | スレッドは中断されています。アプリを再開しても、中断されたスレッドはコードを実行しません。 |
灰色 | スレッドまたはブロックは記録されたバックトレースの一部であり、現在実行されていません。 |
以下も見よ