Tento článek popisuje problém, který SEH výjimky jsou zachyceny v systému Windows Embedded Compact 2013 nesprávnou obslužnou rutinou. Aktualizace je k dispozici a opravuje tento problém. Před instalací této aktualizace musí být všechny předchozí aktualizace vydané pro tento produkt nainstalován.
Příznaky
Jde o takovouto situaci:
-
Modul plug-in pro aplikaci Visual Studio 2013 tvůrce aplikace slouží k vytvoření C++ aplikace tohoto systému Windows Embedded Compact 2013.
-
Můžete povolit asynchronní zpracování pomocí přepínače kompilátoru "/eha/EHa" výjimku. Tento přepínač umožňuje oba C++ synchronní a strukturované zpracování výjimek asynchronní výjimky (SEH) zpracování metody, které se smíchají ve stejný kód.
-
Můžete spustit související kód zachytit výjimky SEH.
V tomto scénáři SEH výjimky jsou vždy zachyceny v úplně první obslužná rutina výjimky i v případě, že je filtrován pro synchronní výjimek C++.
Očekávané chování je SEH výjimky jsou zachycena obslužná rutina výjimky třemi tečkami. Například spustit následující ukázkový kód: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"); } } V této ukázce je vždy přístupů první klauzule catch dojde-li výjimka SEH (celočíselné dělení nulou) namísto obslužné rutiny elipsy podle očekávání.Řešení
Informace o aktualizaci softwaru
Aktualizace Windows Embedded Compact 2013 Monthly Update (září 2015) je nyní k dispozici od společnosti Microsoft. Chcete-li stáhnout tuto aktualizaci Windows Embedded Compact 2013 měsíční, přejděte na Microsoft OEM Online nebo MyOEM.
Předpoklady
Tato aktualizace je podporována pouze v případě, že byly nainstalovány i všechny předchozí aktualizace vydané pro tento produkt.
Požadavek na restartování
Po instalaci této aktualizace nutné provést čisté sestavení celé platformy. Chcete-li to provést, použijte jednu z následujících metod:
-
V nabídce sestavení vyberte Vyčistit řešenía pak zvolte Sestavit řešení.
-
V nabídce sestavení zvolte Sestavit řešení.
Nemáte k restartování počítače po instalaci této aktualizace softwaru.
Informace o nahrazení aktualizace
Tato aktualizace není nutné restartovat počítač.
Anglická verze tohoto balíčku aktualizace softwaru má atributy souborů (nebo novější) uvedené v následující tabulce. Kalendářní data a časy jednotlivých souborů jsou uvedeny v koordinovaném světovém čase (UTC). Při zobrazení informací o souboru je převést na místní čas. Chcete-li najít rozdíl mezi časem UTC a místním časem, použijte kartu časové pásmo v položce datum a čas v okně Ovládací panely.
Soubory, které jsou součástí tohoto balíčku aktualizace
Název souboru |
Velikost souboru |
Datum |
Čas |
Cesta |
---|---|---|---|---|
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 |
Odkazy
Další informace o terminologii , kterou společnost Microsoft používá k popisu aktualizací softwaru.