
Visual Studio デバッガーの構成
Visual Studio 内から F5 でデバッガーが起動されると、XBOX Manager や xbConnect など他の Microsoft Game Development Kit (GDK) ツールで設定した既定のコンソールが既定で使用されます。この動作をオーバーライドするには、次のスクリーンショットのように、プロジェクトのプロパティ ページの XBOX One セクションにある Remote IP Address プロパティを使用してコンソールを指定します。


シンボル パス
いくつかの Game OS コンポーネントのプログラム データベース (.pdb) ファイルは、Visual Studio でデバッグするときに使用できます。これらのシンボルを使用できるように Visual Studio を構成すると、たとえばデバッガーで中断したときにより完全なコール スタックが得られます。 Game OS のシンボルの一部は Microsoft Game Development Kit (GDK) セットアップによって開発 PC にインストールされ、その他は Microsoft のパブリック シンボル サーバー上で利用可能です。 セットアップによってインストールされる Game OS のシンボルは、開発 PC 上の C:\Program Files (x86)\Microsoft GDK<edition number>\GXDK\gameKit\symbols にあります。プラットフォーム非依存の .pdb はシンボル フォルダーのルートにあります。プラットフォーム固有の .pdb は Xbox Series X|S および XboxOne サブディレクトリにあります。 ローカル PC 上の Game OS シンボル ディレクトリへのパスを追加するには、次のスクリーンショットに示すように、Visual Studio の Options ダイアログ ボックスの Debugging セクションの Symbols 設定を使用します。

デバッグに関連するプロパティ
デバッガーは、プロジェクトのプロパティ ダイアログ ボックスおよび XBOX Gaming Explorer の Settings タブで公開されているプロパティ セットを通じてさらに構成できます。これらのプロパティには、たとえばタイトルにコマンド ライン引数を渡す機能やモジュール読み込みログのオン/オフなどが含まれます。利用可能なプロパティの詳細については、XBOX 開発向けの Visual Studio プロパティ および XBOX Gaming Explorer を参照してください。実行中のタイトルへのアタッチ
XBOX メニューおよび XBOX Gaming Explorer には、コンソール上で実行中のゲームにデバッガーをアタッチするためのメニュー オプションが含まれています。 現在既定のコンソールで実行中のゲームにアタッチするには、XBOX メニューの Attach to Running Game を使用します。XBOX メニューは次のスクリーンショットに示すように Visual Studio のメニュー バーからアクセスできます。


Host IP または System IP アドレスのいずれかでタイトルにアタッチできますが、単一セッションで複数回アタッチする場合、2 つを混在させないようにしてください。たとえば、最初に Host IP でアタッチした場合は、その後も Host IP を使用してください。

Visual Studio 2022 を使用した XBOX プロジェクトのデバッグ
Visual Studio 2022 でのデバッグには、デバッグ対象のタイトルが 2021 年 10 月 (以降) の Microsoft Game Development Kit (GDK) でビルドされていることが必要です。2021 年 10 月 (以降) の Microsoft Game Development Kit (GDK) への依存は、それらのバージョンの Microsoft Game Development Kit (GDK) に同梱される Game OS が Visual Studio 2022 でのデバッグに必要なバイナリを含むためです。より古い Game OS に対して Visual Studio 2022 でのデバッグを試みると、以下のエラーが表示されます。
パッケージ ビルドのデバッグ
XBOX One Software Development Kit のリリースでは、パッケージ ビルドをデバッグするワークフローに Visual Studio の Debug Installed App Packages メニュー項目の使用が含まれていました。このワークフローは、このセクションで説明するように、Microsoft Game Development Kit (GDK) の 2019 年 9 月リリースで大幅に簡素化されました。

Game Lifecycle 状態間の遷移のデバッグ
Game Lifecycle を適切にサポートするには、full、suspended、constrained のライフサイクル状態間の遷移用のイベント ハンドラーを記述する必要があります。Visual Studio は、Game Lifecycle 状態遷移を成功裡に通過するためにタイトルに必要な堅牢なイベント ハンドラーを記述するのに役立つ機能をいくつか提供します。 XBOX Gaming Explorer のコンテキスト メニューには、開発キットでハンドラーをデバッグできるように、タイトルを Suspend、Resume、Constrain するオプションがあります。

Visual Studio 2022 の C++ 動的デバッグ
C++ Dynamic Debugging は、パフォーマンスを損なうことなく最適化コードに対して完全なデバッグ体験を提供する新しいデバッグ機能です。オンデマンドの関数の脱最適化により、脱最適化ブレークポイントを配置し、どこからでもステップ実行できます。C++ Dynamic Debugging を有効化するには、プロジェクトを右クリックし、Properties > Configuration Properties > Advanced > Advanced Properties > Use C++ Dynamic Debugging (preview) を選択します。動的デバッグ機能を使用するには、Visual Studio 2022 のバージョン 17.14 Preview 2 以降が必要です。詳細は https://aka.ms/dynamicdebugging を参照してください。C++ Dynamic Debugging の使用に必要な Visual Studio のバージョン (バージョン 17.14) は、2025 年 4 月 GDK 以降にリリースされる予定です。Visual Studio のバージョン 17.14 のリリース後、C++ Dynamic Debugging に必要な C++ デバッグ モニター (msvsmon.exe) を含む GDK アップデートがリリースされます。その GDK アップデートがリリースされる前に C++ Dynamic Debugging を使用したい場合は、C++ デバッグ モニターの適切なバージョンをコンソールに読み込む方法について、Microsoft アカウント マネージャーにお問い合わせください。
