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

# IXtfConsoleControlClient::GenerateStackDump

> IXtfConsoleControlClient::GenerateStackDump

# IXtfConsoleControlClient::GenerateStackDump

Gera um despejo de pilha.

<a id="syntaxSection" />

## Sintaxe

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

<a id="parametersSection" />

### Parâmetros

*ProcessId*\
Tipo: UINT32

O identificador do processo para o qual criar o despejo de pilha.

*DumpType*\
Tipo: UINT32

O tipo de despejo de pilha a ser criado.  Os tipos de despejo válidos são:

| Valor | Descrição |
| - | - |
| 0 | Triagem |
| 1 | Mini |
| 2 | Heap |

*ImageName*\
Tipo: LPCWSTR

O nome da imagem.

*FilePath*\
Tipo: LPBSTR

Um ponteiro para uma cadeia de caracteres que recebe o caminho do arquivo de despejo de pilha criado.

<a id="retvalSection" />

### Valor retornado

Tipo: HRESULT

Retorna `S_OK` se for bem-sucedido; caso contrário, retorna um código de erro HRESULT. Se o tempo limite da função se esgotar enquanto aguarda a conclusão de um despejo de pilha, essa função retornará `E_MESSAGE_TIMED_OUT`.

<a id="remarksSection" />

## Comentários

Essa função gera um despejo de pilha de um processo especificado para uma imagem executável no console de desenvolvimento. O despejo de pilha é salvo como um arquivo na unidade de rascunho do console, no caminho de arquivo retornado em `FilePath`.

As informações capturadas pelo despejo de pilha, e o tempo necessário para capturá-las, dependem do tipo de despejo especificado em `DumpType`. O tempo limite dessa função se esgota após 5 minutos; se um despejo de pilha não for retornado pelo console antes que o tempo limite da função se esgote, essa função retornará `E_MESSAGE_TIMED_OUT`. A tabela a seguir descreve as informações retornadas por cada tipo de despejo de pilha.

| Tipo de despejo | Descrição |
| - | - |
| Triagem | Coleta rastreamentos de pilha de todos os threads, identificadores ativos do sistema operacional, informações de thread e informações sobre módulos descarregados. Os despejos de triagem são limpos de informações de identificação pessoal (PII). |
| Mini | Coleta segmentos de dados de todos os módulos carregados, dados relacionados a tokens de segurança, informações de thread e informações sobre os módulos descarregados. Os minidespejos não são limpos de PII. |
| Heap | Fornece um despejo de memória completo no modo de usuário de todos os processos e da memória em execução no Game OS. Embora essa opção forneça o máximo de informações, ela pode levar alguns minutos para gravar todos os dados. |

Para obter mais informações sobre as APIs de ferramentas e automação disponíveis, como o XBOX Tools Framework (XTF), confira [APIs de ferramentas e automação (tópico NDA)](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/debug/atoc-api-tools-dev-env).

<a id="remarks_output" />

### Manipulando ponteiros LPBSTR

Para obter mais informações sobre como manipular os ponteiros LPBSTR retornados por essa função, confira [Alocando e liberando memória para um BSTR](https://learn.microsoft.com/cpp/atl-mfc-shared/allocating-and-releasing-memory-for-a-bstr?view=vs-2019).

<a id="requirementsSection" />

## Requisitos

**Cabeçalho:** xtfconsolecontrol.h

**Biblioteca:** xtfconsolecontrol.lib

**Plataformas com suporte:** Windows (para ferramentas de console XBOX)

<a id="seealsoSection" />

## Confira também

[XtfConsoleControl](/pt-BR/reference/tools/xtf/xtfconsolecontrol/xtfconsolecontrol_members)\
[XBOX Tools Framework](/pt-BR/reference/tools/xtf/atoc-xbox-tools-framework)


## Related topics

- [IXtfConsoleControlClient](/pt-BR/reference/tools/xtf/xtfconsolecontrol/interfaces/IXtfConsoleControlClient/ixtfconsolecontrolclient.md)
- [IXtfConsoleControlClient::ShutdownConsole](/pt-BR/reference/tools/xtf/xtfconsolecontrol/interfaces/IXtfConsoleControlClient/methods/ixtfconsolecontrolclient_shutdownconsole.md)
- [IXtfConsoleControlClient::UpdatesPending](/pt-BR/reference/tools/xtf/xtfconsolecontrol/interfaces/IXtfConsoleControlClient/methods/ixtfconsolecontrolclient_updatespending.md)
- [IXtfConsoleControlClient::SetConfigValue](/pt-BR/reference/tools/xtf/xtfconsolecontrol/interfaces/IXtfConsoleControlClient/methods/ixtfconsolecontrolclient_setconfigvalue.md)
- [IXtfConsoleControlClient::GetAllSettings](/pt-BR/reference/tools/xtf/xtfconsolecontrol/interfaces/IXtfConsoleControlClient/methods/ixtfconsolecontrolclient_getallsettings.md)
