Applies ToWindows Embedded Compact 2013

本文說明在哪一個 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 OEMMyOEM

先決條件

此更新程式也已安裝此產品的所有先前發行的更新時,才支援。

重新啟動需求

套用此更新之後,您必須執行整個平台的清除組建。若要這樣做,請使用下列其中一種方法:

  • 在 [建置] 功能表中,選取 [清除方案,,然後選取 [建置方案

  • 選取 [建置] 功能表上的 [重建方案]。

您不必套用此軟體更新之後,請重新啟動電腦。

更新取代資訊

此更新不會取代任何其他更新。

檔案屬性 (或較新的檔案屬性),本軟體更新套件的英文版具有下列表格中所列。這些檔案的日期和時間會以國際標準時間 (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 會使用來描述軟體更新術語

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。