本文說明在哪一個 SEH 例外狀況遭到攔截由 Windows 內嵌壓縮 2013年中的錯誤處理常式的問題。更新是可用來修正這個問題。在您安裝此更新程式之前,必須安裝此產品的所有先前發行之更新程式。
狀況
請考慮下列情況:
-
您可以使用 Visual Studio 2013年外掛程式的應用程式產生器來建立目標的 Windows 內嵌壓縮 2013年的 c + + 應用程式。
-
您啟用非同步例外處理使用"/EHa"編譯器參數。這個參數可讓兩個 c + + 同步與結構化例外處理 (SEH) 的非同步例外處理來混合成相同的程式碼的方法。
-
您執行相關的程式碼,以攔截 SEH 例外狀況。
在這個案例中,SEH 例外狀況會永遠攔截到在第一個例外狀況處理常式即使 c + + 同步例外狀況已經過篩選。
預期的行為是被省略例外處理常式攔截到 SEH 例外狀況。 比方說,您可以執行下列的範例程式碼︰class CMyEx{ public: CMyEx(int nParam) : m_nParam(nParam) { } int m_nParam; }; void TestExceptions() { try { int a = 42; int b = 0; // throw CMyEx(1); // throw 97; int c = a / b; } catch (const CMyEx &e) { wprintf(L"CMyEx exception caught (param=%d)!\n", e.m_nParam); } catch (...) { wprintf(L"Exception of unspecified type caught by ellipsis clause!\n"); } } 在這個範例中,就永遠叫用第一個 catch 子句而省略符號處理常式不是如預期般發生的 SEH 例外狀況 (整數除數為零) 時。解決方案
軟體更新資訊
現在使用 microsoft Windows 內嵌壓縮 2013年每月更新 (年 9 月 2015)。要下載此 Windows 內嵌壓縮 2013年每月更新,請移至線上 Microsoft OEM或MyOEM。
先決條件
此更新程式也已安裝此產品的所有先前發行的更新時,才支援。
重新啟動需求
套用此更新之後,您必須執行整個平台的清除組建。若要這樣做,請使用下列其中一種方法:
-
在 [建置] 功能表中,選取 [清除方案,,然後選取 [建置方案。
-
選取 [建置] 功能表上的 [重建方案]。
您不必套用此軟體更新之後,請重新啟動電腦。
更新取代資訊
此更新不會取代任何其他更新。
檔案屬性 (或較新的檔案屬性),本軟體更新套件的英文版具有下列表格中所列。這些檔案的日期和時間會以國際標準時間 (UTC) 格式列出。當您檢視檔案資訊時,會將它轉換為本地時間。若要查看 UTC 與當地時間的時差,請在 [控制台] 中的日期和時間項目使用 [時區] 索引標籤。
此更新套件所隨附的檔案
檔案名稱 |
檔案大小 |
日期 |
時間 |
路徑 |
---|---|---|---|---|
Frame.cpp |
34,133 |
13-Nov-2014 |
23:06 |
Private\Winceos\Coreos\Core\Corelibc\Crtw32\Eh |
Fullcrt.lib |
30,027,378 |
09-Sep-2015 |
09:17 |
Public\Common\Oak\Lib\X86\Checked |
Fullcrt.lib |
30,228,292 |
09-Sep-2015 |
09:17 |
Public\Common\Oak\Lib\X86\Retail |
Fullcrt.lib |
28,759,836 |
09-Sep-2015 |
09:16 |
Public\Common\Oak\Lib\X86\Debug |
Fullcrt.lib |
29,278,300 |
09-Sep-2015 |
09:17 |
Public\Common\Oak\Lib\Armv7\Checked |
Fullcrt.lib |
29,566,730 |
09-Sep-2015 |
09:17 |
Public\Common\Oak\Lib\Armv7\Retail |
Fullcrt.lib |
33,139,560 |
09-Sep-2015 |
09:16 |
Public\Common\Oak\Lib\Armv7\Debug |
Msvcr110d.dll |
1,339,952 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110.dll |
754,224 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110d.map |
1,287,579 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110d.rel |
528,834 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110.map |
788,986 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110.rel |
242,169 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\X86 |
Msvcr110d.dll |
1,145,312 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
Msvcr110.dll |
539,608 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
Msvcr110d.map |
2,714,275 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
Msvcr110d.rel |
215,924 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
Msvcr110.map |
1,258,317 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
Msvcr110.rel |
122,167 |
08-Sep-2015 |
05:26 |
Public\Common\Sdk\Crt\Bin\Arm |
參考
深入了解 Microsoft 會使用來描述軟體更新術語。