劇集

Stowed Exception C000027B

Stowed Exception 是 UWP 應用程式所建立的例外狀況類型。 它已在 Windows 8.0 中引進,作為 WinRT API 的一部分(現在稱為 UWP)。

例外狀況程式代碼0xC000027B。

第一個 Exception 參數 (0) 是以 STOWED_EXCEPTION_INFORMATION_HEADER 結構開頭之結構的指標陣列起始位址。 自 Windows 8.1 起, STOWED_EXCEPTION_INFORMATION_V2 一直是使用中的版本。

第二個 Exception 參數 (1) 是陣列中的指標數目。

存根例外狀況已由 失敗點例外 狀況取代/增強(0xC000027C)。 如同 POF 例外狀況,WinRT 架構會產生例外狀況程序代碼。 它不需要重新編譯應用程式以供使用。

異步操作失敗時,會引發 Stowed 例外狀況。 透過 RoOriginateException 或 RoOriginateLanguageException 呼叫從背景工作線程報告例外狀況時,會透過 CaptureStackBackTrace 函式呼叫收集目前線程的 Stack Backtrace (指令指標陣列)。 例外狀況的 Stack Backtrace 和 HRESULT 會包裝在 IRestrictedErrorInfo 物件中,並透過 WinRT 的語言投影層路由傳送給呼叫端。

如果呼叫端未處理例外狀況,則會嚴重擲回 stowed 例外狀況。 因為擲回會延遲,因此相關聯傾印的目前內容幾乎沒有值。 原始問題的線程已不存在,如果確實存在,則已結束作業(這表示線程的堆棧記憶體已被覆寫)。 這表示函式參數和局部變數無法使用。

使用適用於 Windows偵錯工具偵錯這些問題時,請遵循下列步驟:

  1. .exr -1
    • 透過參數檢視程序代碼、Stowed Exception Array 位址和計數
  2. !pde.dse
    • 列出 Stowed 例外狀況
    • 描述每個 HRESULT (與 !pde.err 相同的輸出)
    • 每個 Backtrace 都會顯示為呼叫堆疊
    • 每個巢狀例外狀況都會顯示 (例如 !sos.pe CLR 例外狀況的輸出)

其他資源: