Skip to main content
以程式設計方式在 XBOX Series 主機上啟用即時 GPU 偵錯。目前即時偵錯僅限於著色器偵錯。我們計劃在不久的將來將其延伸至著色器以外的範圍,並提供即時命令緩衝區偵錯。 提供此 API 是為了偵測擲回例外狀況的著色器,並即時加以偵錯。它會配置 64 KB 的工具記憶體。請使用適當的著色器類型與例外狀況旗標呼叫此 API。每當指定類型的任何著色器擲回指定的例外狀況時,著色器執行就會暫停。 此 API 可在圖形驅動程式的已驗證版本與已檢測版本上使用。如果在呼叫時已附加 CPU 偵錯工具或 PIX 已連線至開發套件,則會以程式設計方式啟用即時偵錯。 另外也提供類似的 API,可隨選即時偵錯著色器。請參閱 EnableLiveDebuggingX

語法

參數

pDebugParams   _In_opt_
類型:D3D12XBOX_LIVE_DEBUGGING_GLOBAL_PARAMETERS
可設定類型與旗標,以指定應啟用即時偵錯的條件。目前即時偵錯僅限於著色器偵錯。我們計劃在不久的將來將其延伸至著色器以外的範圍,並提供即時命令緩衝區偵錯。

傳回值

類型:HRESULT 如果成功,會傳回 S_OK;否則會傳回 E_FAIL。 如果在啟用例外狀況即時偵錯時無法使用工具記憶體,會傳回 E_OUTOFMEMORY。 如果未附加 CPU 偵錯工具且 PIX 未連線,會傳回 E_NOINTERFACE。 在驅動程式的零售版本上會傳回 E_NOTIMPL,因為這是開發人員功能。

備註

如果在執行此 API 時既未附加 CPU 偵錯工具,PIX 也未連線至開發套件,則不會執行任何作業。 當指定類型的任何著色器擲回指定的例外狀況時,GPU 就會暫停。這可能發生在呼叫此 API 之後立即發生,也可能在數分鐘之後發生。GPU 暫停時,必須啟動即時偵錯工作階段。 如果沒有任何指定類型的著色器擲回指定的例外狀況,GPU 就不會暫停,遊戲會繼續執行。 從 2023 年 10 月 GDK 開始,即時偵錯工作階段結束後,例外狀況即時偵錯仍會保持啟用。您可以使用 D3D12XBOX_LIVE_DEBUGGING_NONE 類型呼叫此 API,以明確停用它。 範例 - 在任何著色器擲回 NaN 例外狀況時啟用即時偵錯
另外也提供類似的 API,可隨選即時偵錯著色器。請參閱 EnableLiveDebuggingX

需求

必須呼叫 ReportGpuHaltX,才能偵測著色器例外狀況造成的 GPU 暫停並啟動即時偵錯。 標頭: d3d12_xs.h
程式庫: d3d12_xs.lib
支援的平台: XBOX Series 主機

另請參閱

d3d12_xs 成員 ReportGpuHaltX EnableLiveDebuggingX PIX 中的著色器例外狀況即時偵錯 PIX 中的隨選即時偵錯
Last modified on October 6, 2026