> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# xbWatson

> xbWatson

xbWatson は、開発 PC を使用して XBOX コンソールから送られてくるシステム全体のデバッグ出力および重要なシステム イベントを監視するツールです。xbWatson には、出力のカスタマイズとアクション、プロセス監視、および制御を可能にするルール エディターがあります。ヒープ、トリアージ、およびミニ メモリ ダンプを収集することもできます。

機能の概要:

* システム全体のデバッグ出力と重要なシステム イベントを収集する
* ルール エディターを使用して出力をフィルターおよびカスタマイズする
* 複数の出力タブで出力ストリームを分ける
* カスタマイズしたルールと設定を保存および配布する
* 詳細なプロセス監視と制御を取得する
* トリアージ、ヒープ、ミニ メモリ ダンプを作成および管理する

xbWatson はセッション ベースであり、その存続期間は特定のコンソールへの接続に依存します。既存のセッションを切断して別のコンソールに再接続することはできません。ただし、それぞれ異なるコンソールに接続された xbWatson の複数のインスタンスを開くことができます。xbWatson はコラボレーティブです。すなわち、排他的な接続や、コンソールの偶発的なロックはありません。複数のインスタンスが同じコンソールをターゲットにでき、異なるコンピューターや開発者からでも問題なく連携します。

## 目次

* [xbWatson を開く](#ID4EBB)
* [機能](#ID4ETB)
* [メモリ ダンプ](#ID4ETC)
* [Game Memory](#game_memory)

## xbWatson を開く

xbWatson は、GDK コマンド プロンプト、[XBOX Manager](https://docs.xbox.com/ja-jp/tools/tools-console/xbom/xbom.md)、またはスタート メニューから xbWatson を検索することで開けます。コマンド ラインでテスト コンソールの IP またはホスト名を指定してオーバーライドしない限り、xbWatson は既定のコンソールに接続します。

コマンド ラインから xbWatson を開き、既定のコンソールを使用する:

```text theme={null}
C:\Program Files (x86)\Microsoft GDK\bin>xbwatson.exe  
```

IP またはホスト名のオーバーライドで xbWatson を開く:

```text theme={null}
C:\Program Files (x86)\Microsoft GDK\bin>xbwatson.exe /x:consoleIP  
```

[XBOX Manager](https://docs.xbox.com/ja-jp/tools/tools-console/xbom/xbom.md) から Tools Launcher 経由で xbWatson を開き、既定のコンソールを使用する:

![xbWatson](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_launcher.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=c4e6659e51a910b853fce42deb9ad89a)

[XBOX Manager](https://docs.xbox.com/ja-jp/tools/tools-console/xbom/xbom.md) からコンソールを右クリックし、\[Launch xbWatson] を選択して選択されたコンソールを使用して xbWatson を開く:

![xbWatson](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_xbom.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=73b6b415bac18f2225c5008d54d1605d)

### 構成のオーバーライド

起動時、xbWatson は %localappdata%\Microsoft\Xbox One Development Kit\xbWatson\3.0 にある defaultconfig.txt という名前の既定の構成ファイルを読み込みます。このファイルには、出力タブの状態、その構成、ルール、および適用されたルールが保存されます。このファイルは他の GDK ユーザーと共有でき、カスタム設定で xbWatson セッションを迅速に開けます。共有構成を読み込むには、次のいずれかの方法があります。

* ローカルの defaultconfig.txt ファイルに上書き保存する。
* Windows から、sharedconfig.txt ファイルを xbWatson.exe にドラッグ アンド ドロップする。
* 保存された構成ファイルを指すコマンド ライン スイッチで xbWatson.exe を開く (例: xbwatson.exe E:\MyConfig\sharedconfig.txt)

現在読み込まれている構成ファイルの場所を確認するには、Dashboard の Log タブで読み込まれている内容を確認してください: `Loading configuration 'C:\Users\UserName\AppData\Local\Microsoft\Xbox One Development Kit\xbWatson\3.0\defaultConfig.txt'.`

## 機能

xbWatson には、メイン出力ウィンドウでの出力の表示と構成、エディターおよびメニュー経由での出力ルールの適用、データ フィード メニュー経由での出力タイプのフィルタリング、Dashboard 上での Log 診断、Game OS プロセス リスト、およびスタック ダンプの生成と管理に関する高度な機能の管理を可能にする機能があります。

### メイン出力ウィンドウ

メイン出力ウィンドウは、図 1 に示すように、タイトル バー、出力タブ、Rule Editor、および Dashboard で構成されます。

**図 1.  xbWatson** ![xbWatson](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_connected.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=e34e40cdc10e0d86630f7ad4f2dddd45)

### タイトル バー

xbWatson がコンソールに接続されている場合、図 2 に示すようにタイトル バーは緑色で接続の詳細が表示されます。

**図 2.  タイトル バー (接続時)** ![Title bar](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_titlebar.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=b0dcab289f41df95697f75eb3d84b7b4)

xbWatson が接続できない場合、または開発キット サービスが利用できない場合、タイトル バーは赤色または黄色になります。この状態になった場合は、Dashboard の Log タブを確認して追加のエラー情報を取得してください。多くの場合、これは無効な IP アドレスまたは開発キットのホスト名によって引き起こされます。xbWatson が開発キットに正しく接続できるように、開発キットの IP アドレスとホスト名が有効であることを確認してください。

### 出力タブ

起動時には既定の出力タブが 1 つあります。最後のタブの右側にあるプラス記号 (+) をクリックして、さらに出力タブを作成できます。タブの右側の x をクリックして出力タブを削除できます。名前 (Output) をクリックしてタブの名前を変更できます。コンソールからデバッグ出力が流れている場合、そのタブのアクティビティ ライトが点滅します。データは、出力ウィンドウでテキストをハイライトまたは選択し、標準の Windows コピー コマンドを使用してクリップボード バッファーとの間で移動することでコピーできます。各出力タブ内には、そのタブを構成するための以下のオプション メニューがあります。

#### Add/Remove Rules メニュー

図 3 に示すように、Add/Remove Rules メニューを使用して現在の出力タブに対してルールをオン/オフします。ルールの作成に関する詳細については、このトピックの後半の Rules Editor セクションを参照してください。

**図 3.  Add/Remove Rules メニュー** ![Add/Remove Rules menu](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_applyrules.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=d512e8d129a6f1bda7fdf02358d1e3b0)

#### Data feeds メニュー

図 4 に示すように、Data feeds メニューを使用して、現在の出力タブに表示される出力ストリームを構成します。

**図 4.  Data feeds メニュー** ![Data feeds menu](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_datafeeds.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=062d7fb7088ac20276ce3e8bd81366ed)

出力ストリームは、ストリーム名の隣のチェック ボックスを選択またはクリアしてオン/オフできます。図 5 に示すように、ストリーム名の右側の歯車アイコンをクリックして、そのストリーム内の個別のオプションを構成できます。

**図 5.  フィード コントロール** ![Feed control](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_feedcontrol.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=d24cd66fbe724b07962ae47ca31ab2c7)

利用可能なデータ フィードを次の表に示します。

| データ フィード | 説明 |
| - | - |
| Output debug string | リカバリ OS とゲーム OS の両方からのデバッグ出力。 |
| Process feed | ゲーム OS からのプロセス変更出力。 |
| Process debug feed | 選択されたプロセスからのデバッグ イベント出力。出力は、Game OS Dashboard からプロセスを監視した後に利用可能になります。 |
| Console event feed | Windows およびテレメトリ イベントの厳選された一覧からの出力 (現在はアプリ登録とアクティブ化に焦点を当てています)。 |
| Game memory feed | コンソール上で現在使用中および利用可能なタイトルおよびツールのメモリ量を示す出力。 |

### Rule Editor

図 6 に示すように、Rule Editor はメイン出力ウィンドウの右側にあります。

**図 6.  Rule Editor** ![Rule Editor](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_ruleeditor.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=53e171afd9072bd07f41b05f908b33cd)

ルールを作成するには

1. 左側のペインから **\[New]** をクリックします。新しい空のルールが作成されます。
2. ルールに名前を付けます。
3. 新しい条件を追加します。
   * 正規表現に一致: 評価する正規表現文字列を入力します。
4. アクションを追加します (条件に一致した後に実行される):
   * **Change color**: マッチしたテキストを変更するカラー ピッカーを開きます。
   * **Acquire stack dump**: 選択したスタック ダンプ タイプをトリガーします。
   * **Include text**: テキストのみを表示します。
   * **Exclude text**: テキストを表示しません。
   * **Disable this rule**: このルールの実行を停止します。これは、自動テスト実行中にスタック ダンプを 1 回だけ取得できるようにする場合に便利です。
   * **Set trigger to break**: プロセスを中断し、デバッガのアタッチに備えます。
   * **Invasively attach**: xbWatson をデバッガとしてプロセスにアタッチします。
   * **Remove invasive attach**: xbWatson をデバッガから削除します。
   * **Flash window**: タスクバーで xbWatson アイコンを点滅させます。
   * **Show banner message**: 出力ウィンドウの上部にバナー メッセージを表示し、そのタブのアクティビティ ライトを赤に変えて注意を引きます。
   * **Clear banner message**: 出力ウィンドウ上部のバナー メッセージを削除します。
   * **Enable other rule**: この出力タブに対して指定されたルールを有効化します。
   * **Disable other rule**: この出力タブに対して指定されたルールを無効化します。
5. ルールを保存します。

ルールを有効にするには、出力タブに適用する必要があります。これは、ルール エディター内から **\[Apply rules]** をクリックするか、ルール エディターを閉じて出力タブ上で直接 **\[Apply rules]** メニューを介してルールを適用することで実行できます。

> [!NOTE]
>
> ルール エディターからルールを適用する際は、**\[toggle multi-select]** ボタンに注意してください。現在選択されているルールのみが適用されます。

### Dashboard

図 7 に示すように、メイン出力ウィンドウの下部の上矢印をクリックすると、Dashboard が開きます。Dashboard が最小化されている場合、ウィンドウの左下隅に Dashboard のステータス ライトがあります。これらのステータス ライトは Dashboard の項目に対応しています。データ フローまたはステータス変更を示すために点滅または色が変わります。

**図 7.  Dashboard** ![Dashboard](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_dashboard.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=7a7a5aa54626efcdb21552aa47d04321)

#### Log

Log には、xbWatson 自体、および xbWatson と開発キットとの接続に関連する情報が含まれます。起動時に読み込まれた構成ファイル、接続されている IP アドレスまたは保存された接続文字列、および xbWatson に関するその他のデバッグ情報を確認できます。この Dashboard 項目は、開発キットとの接続に問題があると赤色になります。

#### Game OS

開発キットでタイトルが実行されていない場合、この Dashboard 項目は黄色で表示され、プロセス データが利用できないことを示します。タイトルが実行されていなくても、開発キットの設定に関する最小限のデータ セットを確認できます。

タイトルが実行されている場合、Windows タスク マネージャーに似た拡張データを確認できます。行の色は次のとおり、および図 8 に示すとおりステータスを示します。

* 緑: 過去 5 秒以内にプロセス データに変更が発生しました。
* 赤: プロセスは終了しました。
* オレンジ: プロセスは中断されています (デバッグ (break) を含みます)。
* 青: xbWatson を侵襲的アタッチとしたものを含め、デバッガがアタッチされています。

行を選択すると、プロセス リストの下のオプションを有効化できます。

**図 8.  Game OS プロセス リスト** ![Game OS Process List](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_processlist.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=3a730de125f2ad3e4ab5be6e5ce3bf98)

* Terminate: アクティブなプロセスをクリックしてから \[Terminate] ボタンをクリックすると、プロセスが終了します。
* Break (debug): プロセスを中断し、デバッガのアタッチに備えます。
* Resume: デバッグ ブレークを削除し、プロセスを再開します。
* Monitor: xbWatson を侵襲的デバッガとしてアタッチします。プロセスには一度に 1 つの侵襲的デバッガしかアタッチできないため、この方法で xbWatson を接続すると Visual Studio のプロセスへの接続が妨げられます。複数の xbWatson インスタンスはこのアタッチを共有します。xbWatson のすべてのインスタンスが閉じられると、デタッチは自動的に行われます。有効にすると、プロセス デバッグ データ フィード (出力ストリーム構成 UI で利用可能) がデータを受信し始めます。アタッチ後、出力デバッグ文字列はプロセス デバッグ ストリームを通ります。
* Detach: xbWatson を侵襲的デバッガから削除します。

#### メモリ ダンプ

Memory Dump メニューを使用して、メモリ ダンプを生成するか、quiesce ハング ダンプにアクセスします。

コンソールで現在実行中のタイトルに対して、ヒープ、ミニ、またはトリアージ メモリ ダンプを作成できます。生成されたダンプはコンソール上にローカルに保存され、**\[Manual Memory Dumps]** テーブルの下にある **\[Download]** ボタンでダウンロードできます。

**\[Generate]** ボタンは、タイトルが実行中で、この方法でメモリ ダンプを生成できる場合にのみ使用できます。xbWatson は、コンソールに登録されているゲーム イメージ名と一致する実行中のゲーム (プロセス ID) をターゲットにします。

Memory Dump パネルは、タイトルが実行中の場合にのみメモリ ダンプの管理を許可します。生成とダウンロードの両方の操作により、Dashboard のビジー ライトが点滅し、アクティビティを示します。

サスペンド タイムアウトが発生し、デバッガがアタッチされていない場合、Quiesce ハング ダンプが自動的に作成されます。これらのダンプは、タイトルのサスペンド ハンドラーが必要な時間内に完了しなかった理由を判断するのに役立ちます。Dashboard ライトが点滅して、Quiesce ハング ダンプの利用可能性を示します。利用可能なハング ダンプは **\[Quiesce Memory Dumps]** テーブルに一覧表示されます。テーブルの下にある **\[Download]** ボタンを使用して、Quiesce ハング ダンプを開発 PC にコピーします。[Game Lifecycle サポート](https://docs.xbox.com/ja-jp/build/console-features/console-workflows/xbox-game-life-cycle.md) に必要なサスペンドとレジューム ハンドラーのデバッグのために Microsoft Game Development Kit (GDK) で提供される機能の完全な説明については、[Game Lifecycle 状態間の遷移のデバッグ](https://docs.xbox.com/ja-jp/tools/tools-console/visualstudio/debugging-with-visualstudio.md) を参照してください。

**図 9.  Memory と Quiesce ハング ダンプ** ![Stack dumps](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_crashdump.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=f98a3922549577ee26a8704b46487d57)

#### Game memory

xbWatson が接続されているコンソールの状態のタスク マネージャーのようなビューを表示します。

Game Memory Dashboard は現在、タイトルとツールのメモリ消費に焦点を当てています。CPU やファイル I/O 統計などの他の統計は、今後のリリースで追加されます。

![The Game Memory dashboard in xbWatson](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/gdk/tools/xbwatson_system_monitor.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=d04b22f345d028baa16df1a7014e9a12)

この Dashboard で提供されるグラフの説明については、[XBOX System Monitor](https://docs.xbox.com/ja-jp/tools/tools-console/visualstudio/xbox-system-monitor.md) を参照してください。

## 関連項目

[XBOX コンソール ゲーム開発 (環境とツール)](https://docs.xbox.com/ja-jp/tools/tools-console/gc-tools-console-toc.md) [クラッシュ ダンプの取得](https://docs.xbox.com/ja-jp/build/console-features/debugging-diagnostics/retrieving-crash-dumps.md)


## Related topics

- [XBOX 向けの xbWatson デバッグ出力モニター](https://docs.xbox.com/ja-jp/tools/tools-console/xbWatson/index.md)
- [XBOX Manager](https://docs.xbox.com/ja-jp/tools/tools-console/xbom/xbom.md)
- [XBOX コンソール開発者ツール (GDK)](https://docs.xbox.com/ja-jp/tools/tools-console/index.md)
- [XBOX System Monitor](https://docs.xbox.com/ja-jp/tools/tools-console/visualstudio/xbox-system-monitor.md)
- [タイトルから wd ツールを呼び出す](https://docs.xbox.com/ja-jp/tools/tools-console/console_commandlinetools/titlecodecallingwdtools.md)
