偵測例外狀況
Shader Exceptions 檢視會顯示 Detect Exceptions 面板。此面板會顯示您可以選擇的支援例外狀況類型。所有例外狀況類型預設皆已選取。面板也會顯示應納入例外狀況偵測考量的著色器階段清單。所有著色器階段預設皆已選取。請注意,偵測著色器例外狀況需要 pixie 分析。選取所需的例外狀況與著色器階段後,即可按下 Detect 按鈕以產生例外狀況摘要報告。
例外狀況摘要報告
例外狀況摘要報告會顯示所有已觸發之所選例外狀況的項目。每個例外狀況記錄項目會顯示著色器指令的位址 (PC)、例外狀況清單與觸發次數。請注意,PC 指向擲回例外狀況之指令的下一個指令。對於光線追蹤著色器,也會顯示函式名稱。如果已解析 PDB 且有可用的行對應,則會顯示對應於 PC 的 HLSL 檔名、函式簽章與 HLSL 行號。這些例外狀況項目會依每個所選著色器階段、每個 Global ID 顯示。每個例外狀況記錄項目都有 Open in Debugger 按鈕,讓您可以偵錯著色器並實際查看例外狀況。

偵錯擲回例外狀況的著色器
可以在 PIX 中偵錯著色器,以調查著色器例外狀況。您可以按下要調查之著色器旁的綠色箭號來執行此動作。這會在偵錯工具中以取消遮罩例外狀況的方式開啟著色器。您可以使用與非例外狀況情境相同的方式偵錯著色器,但當 PC 到達記錄項目中所述的指令時,您會看到已觸發之例外狀況的通知。可以使用「Run to Exception」按鈕快速前往觸發例外狀況的那一行。請注意,它會停在擲回例外狀況之指令的下一個指令。也可以檢查 trapsts 暫存器中的例外狀況位元,以確認觸發的例外狀況。可以使用倒退逐步執行來找出例外狀況的來源。請注意,只有從 Shader Exceptions 檢視啟動的偵錯工作階段才會取消遮罩例外狀況。取消遮罩數值例外狀況時,著色器的數值行為會有所不同。
