デバッガーの使用
アプリをデバッグ
ワークスペースツールバーの [Run(実行)] ボタンをクリックして、アプリがうまくビルドできた後、Xcode は、アプリを実行し、デバッグセッションを開始します。データヒントと変数の値のクイックルックのようなグラフィックツールを使用して、ソースエディタ内で直接アプリをデバッグできます。
デバッグ領域とデバッグナビゲーターを使うと、実行中のアプリの現在の状態を検査し、その実行を制御できます。
品質の良いアプリを作成するには、ユーザーシステム上のアプリの影響を最小限に抑えることが必要です。アプリのリソース消費への洞察を得るために、デバッグ·ナビゲータでデバッグ·ゲージを使用し、問題を発見したら、アプリのパフォーマンスを分析し、計測するインストルメントを使用して下さい。バッテリ寿命にあなたの影響を最小限に抑えるため、エネルギーガイドを使用してください。詳細については、Mac のアプリのためのエネルギー効率ガイド と iOS アプリのエネルギー効率ガイド (リンク切れ) を参照してください。
iOS と watchOS アプリを開発する場合は、設計や初期のテスト中における重要な問題を発見するためにシミュレータを使用して下さい。
自分のデバッグ作業に焦点を当てるように Xcode を構成することができます。例えば、コードがブレークポイントにあたったときには、Xcode は、自動的に警告音を再生し、Xcode はデバッグと言う名前のウインドウタブを表示し、そこで Xcode は、デバッグ領域、デバッグナビゲーター、ブレークポイントでのコードが表示します。
実行の制御
Xcode は、実行の特定の段階で、行ごとにプログラムの状態を表示し、コード行をステップ実行することができます。コードの実行、プログラムの変数やレジスタを表示したり、コンソール出力を表示し、デバッガと対話するためにはデバッグ領域を使用して下さい。また、フレームのレンダリングに OpenGL の呼び出しをナビゲートし、特定の呼び出しでレンダリングの状態の情報を表示するのにも、デバッグ領域を使用できます。
ワークスペース・ウィンドウ・ツールバーにあるビューセレクタでセンターボタン () をクリックして、デバッグ領域を表示します。
デバッグ領域のツールバーの一時停止ボタン (これ で一時停止、 で継続とを切り替えます) をクリックして、アプリの実行を中断することができます。ブレークポイントを設定するには、ソースコードファイルを開き、実行を一時停止したい行の隣のガターをクリックして下さい。ガターの青い矢印 () はブレークポイントを示しています。ブレークポイントアクションを設定したり、ブレークポイントの異なる種類を含む、ブレークポイントの詳細については、ブレークポイント·ナビゲーターのヘルプ を参照してください。
アプリが一時停止したとき、現在実行中のコードの行は、緑色で強調表示されます。デバッグ領域の上部にあるバーのボタン、ステップオーバー ()、ステップイン ()、ステップアウト () ボタンを使用してコードの実行の間をステップして行けます。ステップオーバーは全てのメソッドを含め、現在のコードの行を実行します。現在のコード行がメソッドを呼び出すと、現在の行でステップインは実行を開始し、それが呼び出されたメソッドの最初の行に到達したときに停止します。ステップアウトは、現在のメソッドまたは関数の残りの部分を実行します。
状態情報の表示
実行が一時停止した場合、デバッグナビゲーターは、スタックトレースを表示するために開きます。編集領域内およびデバッグ領域内の項目についての情報を表示するには、デバッグナビゲーター内の項目を選択して下さい。デバッグを進めると、スタックフレームを表示/非表示するために、スレッドを広げたり、折りたたみます。
変数の値を表示するデータヒントを表示するには、ソースコードエディタで任意の変数の上にマウスポインタを置きます。デバッグ領域コンソールにオブジェクトの Objective-C の説明を表示するため、または追加のポップオーバーにその説明を表示するには、変数の隣のインスペクターアイコン () をクリックします。
変数の内容のグラフィカル表示を見るには、クイックルックアイコン() をクリックします。あなたは、独自のオブジェクトのカスタムクイックルック表示を実装することができます。Xcode のデバッガでカスタムタイプのクイックルック を参照してください。
メモリ破損の検索
メモリ破損によるクラッシュは再現するのは難しく、見つけるのはさらに難しいです。アドレス健全化は、破損が発生した場合は、アプリを停止するのが Xcode を可能にするアプリにインストルメントを追加します。アドレス健全化は、アクセス割り当て解除ポインタ、バッファオーバーフロー、ヒープとスタックのアンダーフロー、およびその他のメモリの問題のような問題を見つけます。
アドレス健全化をするには、ターゲットのデバッグスキームでそれを有効にして、アプリで使用し、アプリで使用します。Xcode は、メモリの使用状況を監視し、問題の原因となったコードの行であなたのアプリを停止し、デバッガを開きます。原因を特定するために、デバッガを使用してください。
アドレス健全化の方法の詳細については、アドレス健全化の方法 (リンク切れ) を参照してください。
メタルのデバッグ
あなたのアプリは、最高のユーザー体験を提供できるように、メタルは、現代の GPU をフルに活用しています。メタルを使うとグラフィックと計算を高速化でき、合理化された API を使用します。メタルのデバッグの詳細については、メタル のヒントとテクニック (リンク切れ)を参照してください。一般的な情報については、開発者ウェブサイトの 開発者のためのメタル と メタル・プログラミング・ガイド (リンク切れ)を参照してください。
OpenGL のデバッグ
接続されたデバイス上で OpenGL ES アプリをビルドし、実行すると、デバッグ領域ツールバーは、フレームキャプチャボタン() を含んでいます。フレームをキャプチャするために、このボタンをクリックして下さい。OpenGL ES のフレームキャプチャを以下のように使用できます:
このスクリーンショットは、レンダリングされたフレームのコンポーネントを表示するために、デバッガの使用方法を示しています。左側のデバッグナビゲーターは、レンダリングした木の部分を示しており、主なデバッグビューはレンダリングされたフレームだけでなく、他の画像ソースの色と深さ (depth) のソースを示しています。
OpenGL ES のデバッグの詳細は、デバッグナビゲーターヘルプ と デバッグエリアヘルプ の関連項目を参照してください。
前:スキームの管理
次:ビュー階層の調査