Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Acest articol descrie o problemă în care SEH excepții sunt capturate de o rutină de tratare greșit în Windows Embedded Compact 2013. O actualizare este disponibilă pentru a remedia această problemă. Înainte de a instala această actualizare, trebuie să se instaleze toate actualizările emise anterior pentru acest produs.

Simptome

Să luăm în considerare următorul scenariu:

  • Utilizați generator aplicație plug-in pentru Visual Studio 2013 pentru a crea o aplicație C++ Windows Embedded Compact 2013 care are drept țintă.

  • Activați excepție asincron tratarea utilizând parametrul compilator "/EHa". Acest parametru permite atât C++ sincron și structurate excepție tratarea (SEH) asincron excepție tratarea metode de a fi amestecat în același cod.

  • Executați codul corelate pentru a captura SEH excepții.

În acest scenariu, SEH excepții sunt întotdeauna prins în prima rutina de excepție chiar dacă este filtrat pentru o excepție sincron C++.

Comportamentul normal este SEH excepții este prins de puncte de suspensie excepție rutina de tratare.

De exemplu, executați următorul exemplu de cod: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");
}
}
În acest exemplu, să apăsați întotdeauna prima captură clauza când excepție SEH (număr întreg împărțire la zero) apare în loc de puncte de suspensie rutina conform așteptărilor.

Rezolvare

Informații de actualizare software

Windows Embedded Compact 2013 lunar Update (septembrie 2015) este acum disponibilă de la Microsoft. Pentru a descărca această actualizare lunară Windows Embedded Compact 2013, du-te la Microsoft OEM Online sau MyOEM.

Cerințe preliminare

Această actualizare este acceptată numai dacă toate actualizările emise anterior pentru acest produs, de asemenea, s-au instalat.

Cerinţă de repornire

După ce Aplicați această actualizare, trebuie să efectuați o compilare curată a platformei întreg. Pentru aceasta, utilizați una dintre următoarele metode:

  • În meniul de compilare , selectați Soluţie curată, și apoi selectați Construi soluții.

  • În meniul de compilare , selectați Reconstrui soluții.

Nu trebuie să reporniți computerul după aplicarea acestei actualizări de software.

Informații despre înlocuirea vreunei actualizări

Această actualizare nu înlocuiește nicio altă actualizare.

Versiunea în limba engleză a acestui pachet de actualizare software-ul are atributele de fişier (sau atribute de fişier mai recente) enumerate în următorul tabel. Datele şi orele acestor fişiere sunt exprimate în listă în ora universală (UTC). Când vizualizaţi informaţiile despre fişiere, acestea sunt transformate în ora locală. Pentru a afla diferența între timpul universal și cel local, utilizați fila de fus orar în elementul dată și oră din panoul de Control.

Fișierele care sunt incluse în acest pachet de actualizare

Nume de fișier

Dimensiune fișier

Data

Ora

Cale

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


Referințe

Aflați despre terminologia utilizată de Microsoft pentru a descrie actualizările de software.

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×