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

# IXtfApplicationClient::DebugEnable

> IXtfApplicationClient::DebugEnable

# IXtfApplicationClient::DebugEnable

为具有指定包 moniker 的应用包启用或禁用调试。

<a id="syntaxSection" />

## 语法

```cpp theme={null}
public:
HRESULT DebugEnable(
         LPCWSTR pszPackageMoniker,
         BOOL fEnable
)  
```

<a id="parametersSection" />

### 参数

*pszPackageMoniker*<br />类型：LPCWSTR

指向应用的包 moniker 的指针。

*fEnable*<br />类型：BOOL

指定 TRUE 以启用调试，或 FALSE 以禁用调试。

<a id="retvalSection" />

### 返回值

类型：HRESULT

如果成功则返回 `S_OK`；否则返回 HRESULT 错误代码。

<a id="remarksSection" />

## 备注

<Note>
  此方法仅适用于 XBOX One 软件开发工具包\ERA 标题。对 Microsoft Game Development Kit (GDK) 标题调用此方法没有任何效果。
</Note>

此方法为具有 `pszPackageMoniker` 中指定包 moniker 的应用包启用或禁用调试，分别为该包设置或清除调试标志。

<Note>
  你应仅在包未运行时为其设置调试标志。对正在运行的包设置调试标志可能会产生不可预测的结果。
</Note>

为应用包设置调试标志会对应用包中的所有应用产生以下影响：

* 如果应用完成激活所需时间超过 45 秒，则不会被终止。
* 如果应用暂停时间过长，也不会被终止。独占应用的限制为 1 秒，共享应用的限制为 5 秒。
* 应用在失去可见性时间过长后不会被暂停。独占应用的限制为 10 分钟，共享应用的限制为 5 秒。
* 若要暂停应用，请调用 [xbapp suspend (NDA 主题)](/tools/tools-console/commandlinetools/xbapp#xbapp_suspend) 命令或调用 [IXtfApplicationClient::Suspend](/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/methods/suspend-ixtfapplicationclient-xtfapplication-xbox-windows) 函数。
* 当应用处于调试模式时，它不受正常进程生命周期管理 (PLM) 限制的约束，仅在你使用 XBOX Tools Framework (XTF) 工具指示时才会暂停或恢复。

<Note>
  在调试模式下，你的应用可能会在正常 PLM 进程不会导致其暂停的状态下（例如它可见时）被暂停。在应用以调试模式运行时测试暂停和恢复行为时应谨慎，以确保你测试的是正常行为，而不是调试模式运行的影响。
</Note>

清除应用包的调试标志会对包中的应用产生以下影响：

* 如果应用完成激活所需时间超过 45 秒，将被终止。
* 如果应用暂停时间过长，将被终止。独占应用的限制为 1 秒，共享应用的限制为 5 秒。
* 应用在失去可见性时间过长后将被暂停。独占应用的限制为 10 分钟，共享应用的限制为 5 秒。

调试标志的状态在整个包范围内应用。如果单个包中有多个应用设置了调试标志，则所有应用都将以调试模式运行。

重启开发套件将清除调试标志。

通过按 F5（**调试 > 开始调试**）从 Visual Studio 运行应用并将调试程序附加到应用进程会在应用运行前自动设置调试标志，并在应用终止后清除该标志。通过按 Ctrl+F5（**调试 > 开始执行(不调试)**）运行应用而不将调试程序附加到应用进程，则会在应用运行前清除调试标志，并且在应用终止后标志仍保持清除状态。如果你的应用在调试模式下崩溃且 Visual Studio 已附加到应用，则 Visual Studio 会在与应用分离时清除调试标志。

在以下情况下，调试标志状态保持设置：

* 如果应用崩溃，只要 Visual Studio 调试程序当时未附加。
* 通过暂停和恢复操作。
* 通过终止，只要 Visual Studio 调试程序当时未附加。

有关游戏生命周期状态的详细信息，请参阅 [XBOX 游戏生命周期 (NDA 主题)](/build/console-features/console-workflows/xbox-game-life-cycle)。

<a id="requirementsSection" />

## 要求

**头文件：** xtfapplication.h

**库：** xtfapplication.lib

**支持的平台：** Windows（用于 XBOX 主机工具）

<a id="seealsoSection" />

## 另请参阅

[IXtfApplicationClient](/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/ixtfapplicationclient-xtfapplication-xbox-microsoft-t)<br />[XtfApplication](/reference/tools/xtf/xtfapplication/xtfapplication-xbox-microsoft-n)


## Related topics

- [IXtfApplicationClient::Suspend](/zh-CN/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/methods/suspend-ixtfapplicationclient-xtfapplication-xbox-windows.md)
- [IXtfApplicationClient::DebugQuery](/zh-CN/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/methods/ixtfapplicationclient-debugquery.md)
- [IXtfApplicationClient::EnableGlobalOption](/zh-CN/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/methods/enableglobaloption-ixtfapplicationclient-xtfapplication-xb.md)
- [IXtfApplicationClient::Constrain](/zh-CN/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/methods/constrain-ixtfapplicationclient-xtfapplication-xbox-windows-m.md)
- [IXtfApplicationClient::Launch](/zh-CN/reference/tools/xtf/xtfapplication/classes/IXtfApplicationClient/methods/launch-ixtfapplicationclient-xtfapplication-xbox-microsoft-m.md)
