> ## 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.

# GenerateStackDump

> IXtfConsoleControlClient::GenerateStackDump

# IXtfConsoleControlClient::GenerateStackDump

スタック ダンプを生成します。

## 構文

```cpp theme={null}
HRESULT GenerateStackDump(
         UINT32 ProcessId,
         UINT32 DumpType,
         LPCWSTR ImageName,
         LPBSTR FilePath  
)  
```

### パラメーター

*ProcessId*\
型: UINT32

スタック ダンプの作成対象となるプロセスの識別子です。

*DumpType*\
型: UINT32

作成するスタック ダンプの種類です。有効なダンプの種類は次のとおりです。

| 値 | 説明 |
| - | - |
| 0 | Triage |
| 1 | Mini |
| 2 | Heap |

*ImageName*\
型: LPCWSTR

イメージの名前です。

*FilePath*\
型: LPBSTR

作成されたスタック ダンプ ファイルへのファイル パスを受け取る文字列へのポインターです。

### 戻り値

型: HRESULT

成功した場合は `S_OK` を返します。それ以外の場合は HRESULT エラー コードを返します。関数がスタック ダンプの完了を待機してタイムアウトした場合、この関数は `E_MESSAGE_TIMED_OUT` を返します。

## 解説

この関数は、開発コンソール上の実行可能イメージについて、指定したプロセスからスタック ダンプを生成します。スタック ダンプは、コンソールのスクラッチ ドライブ上に、`FilePath` で返されるファイル パスにファイルとして保存されます。

スタック ダンプによって取得される情報と、その情報の取得にかかる時間は、`DumpType` で指定するダンプの種類によって異なります。この関数は 5 分後にタイムアウトします。関数がタイムアウトする前にコンソールからスタック ダンプが返されなかった場合、この関数は `E_MESSAGE_TIMED_OUT` を返します。次の表に、各スタック ダンプの種類で返される情報を示します。

| ダンプの種類 | 説明 |
| - | - |
| Triage | すべてのスレッドのスタック トレース、アクティブな OS ハンドル、スレッド情報、およびアンロードされたモジュールの情報を収集します。Triage ダンプでは、個人を識別できる情報 (PII) が除去されます。 |
| Mini | 読み込まれたすべてのモジュールのデータ セグメント、セキュリティ トークン関連のデータ、スレッド情報、およびアンロードされたモジュールの情報を収集します。Mini ダンプでは PII は除去されません。 |
| Heap | Game OS 上で実行中のすべてのプロセスとメモリの完全なユーザー モード クラッシュ ダンプを提供します。このオプションは最も多くの情報を提供しますが、すべてのデータを書き出すのに数分かかる場合があります。 |

XBOX Tools Framework (XTF) などの利用可能なツールおよび自動化 API の詳細については、[Tool and automation APIs (NDA topic)](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/debug/atoc-api-tools-dev-env) を参照してください。

### LPBSTR ポインターの取り扱い

この関数が返す LPBSTR ポインターの取り扱いについては、[Allocating and Releasing Memory for a BSTR](https://learn.microsoft.com/cpp/atl-mfc-shared/allocating-and-releasing-memory-for-a-bstr?view=vs-2019) を参照してください。

## 要件

**ヘッダー:** xtfconsolecontrol.h

**ライブラリ:** xtfconsolecontrol.lib

**サポートされるプラットフォーム:** Windows (XBOX コンソール ツール用)

## 関連項目

[XtfConsoleControl](https://docs.xbox.com/ja-jp/reference/tools/xtf/xtfconsolecontrol/xtfconsolecontrol_members.md)\
[XBOX Tools Framework](https://docs.xbox.com/ja-jp/reference/tools/xtf/atoc-xbox-tools-framework.md)


## Related topics

- [IXtfConsoleControlClient (インターフェイスの内容)](https://docs.xbox.com/ja-jp/reference/tools/xtf/xtfconsolecontrol/interfaces/IXtfConsoleControlClient/ixtfconsolecontrolclient.md)
- [SetWatsonDumpEnablement](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12deviceremovedextendeddatasettings/methods/id3d12deviceremovedextendeddatasettings_setwatsondumpenablement_public.md)
- [Crash data ページ](https://docs.xbox.com/ja-jp/tools/tools-console/wdp/windows-device-portal-on-xbox-crash-data.md)
- [xbWatson](https://docs.xbox.com/ja-jp/tools/tools-console/xbWatson/xbwatson.md)
- [SetPipelineStackSize (XBOX Series 本体)](https://docs.xbox.com/ja-jp/reference/graphics/d3d12/interfaces/id3d12stateobjectproperties/methods/id3d12stateobjectproperties_setpipelinestacksize_public.md)
