PARANDUS: SEH erandid on püütud vale erand ohjuri asünkroonne erandite käsitlemine lubamisel WEC 2013

NB! Artikkel on tõlgitud Microsofti masintõlketarkvaraga ja seda saab parandada Kogukonnapõhise tõlkeraamistiku (CTF) tehnoloogiaga. Microsoft pakub masintõlgitud, kogukonna järeltöödeldud ja inimtõlgitud artikleid, et anda mitmekeelne juurdepääs kõigile meie teabebaasi artiklitele. Masintõlgitud ja järeltöödeldud artiklites võib olla sõnavara-, süntaksi- ja/või grammatikavigu. Microsoft ei vastuta mingite ebatäpsuste, tõrgete ega kahjude eest, mis on tulenenud sisu valest tõlkest või selle kasutamisest meie klientide poolt. Lisateavet CTF-i kohta leiate aadressilt http://support.microsoft.com/gp/machine-translation-corrections/et.

Artikli ingliskeelse versiooni kuvamiseks klõpsake siin: 3008664
Selles artiklis kirjeldatakse probleemi, mille SEH erandid on püütud vale ohjuri Windows Embedded Compact 2013. Selle probleemi lahendamiseks saadaval on värskendus. Enne selle värskenduse installimist peab olema installitud selle toote kõik varem välja antud värskendusi.
Sümptomid
Kujutage ette järgmist stsenaariumi.
  • Rakenduse Visual Studio 2013 plugin Builder abil saate luua C++ rakenduse selle sihtkohtade Windows Embedded Compact 2013.
  • Asünkroonne erandite käsitsemine, kasutades lubate selle "/ EHa"kompilaator lüliti. See lüliti võimaldab nii C++ sünkroonne ja struktureeritud erandite käsitsemine (SEH) asünkroonne erandite käsitsemise meetodeid segada sama koodi.
  • Võite püüda SEH erandid seotud koodi käivitada.
Selle stsenaariumi puhul SEH erandid on alati püütud esimene erand ohjuri isegi siis, kui see on filtreeritud C++ sünkroonne erand.

Eeldatakse SEH erandid on püütud ohjuri kolmikpunkt erand.

Näiteks võite käivitada järgmine näidiskood:
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");    }}
Selles näites võite alati tabab esimene saagi klausel ilmnemisel SEH erand (täisarvuline jagamine nulliga) asemel kolmikpunkt ohjuri ootuspäraselt.

Lahendus

Tarkvara värskenduse kohta

Windows Embedded Compact 2013 igakuine Update (September 2015) on nüüd Microsoftilt saadaval. Windows Embedded Compact 2013 igakuine värskenduse allalaadimiseks minge Microsoft OEM Online või MyOEM.

Eeltingimused

See värskendus on toetatud ainult siis, kui kõik varem välja antud värskendusi selle toote puhul on samuti installitud.

Taaskäivitamise nõue

Pärast selle värskenduse rakendamist peate tegema puhta järk kogu platvormi. Selleks kasutage ühte järgmistest meetoditest.
  • Menüü ehitadavalige Puhas lahendusja valige Lahenduse luua.
  • Valige menüüs ehitadaLahenduse taastada.
Te ei pea pärast selle tarkvaravärskenduse rakendamiseks arvuti taaskäivitada.

Värskenduse asendamise teave

See värskendus ei asenda ühtegi muud värskendust.

Failiteave

Tarkvara värskenduspaketi versioonil failiatribuute (või uuemaid) mis on loetletud järgmises tabelis. Kuupäevad ja kellaajad need failid jaoks on loetletud maailmaaja järgi (UTC). Failiteabe kuvamisel teisendatakse kohaliku aja järgi. UTC-aja ja kohaliku aja erinevuse väljaselgitamiseks kasutage juhtpaneeli üksus kuupäev ja kellaaeg vahekaartiajavöönd .
Selle värskenduspaketi kaasatud
Faili nimiFaili mahtKuupäevAegTee
Frame.CPP34,13313-nov.-201423:06Private\Winceos\Coreos\Core\Corelibc\Crtw32\Eh
Fullcrt.lib30,027,37809-sept-201509:17Public\Common\Oak\Lib\X86\Checked
Fullcrt.lib30,228,29209-sept-201509:17Public\Common\Oak\Lib\X86\Retail
Fullcrt.lib28,759,83609-sept-201509:16Public\Common\Oak\Lib\X86\Debug
Fullcrt.lib29,278,30009-sept-201509:17Public\Common\Oak\Lib\Armv7\Checked
Fullcrt.lib29,566,73009-sept-201509:17Public\Common\Oak\Lib\Armv7\Retail
Fullcrt.lib33,139,56009-sept-201509:16Public\Common\Oak\Lib\Armv7\Debug
Msvcr110d.dll1,339,95208-sept-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.dll754,22408-sept-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.map1,287,57908-sept-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.rel528,83408-sept-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.map788,98608-sept-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110.rel242,16908-sept-201505:26Public\Common\Sdk\Crt\Bin\X86
Msvcr110d.dll1,145,31208-sept-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.dll539,60808-sept-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110d.map2,714,27508-sept-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110d.rel215,92408-sept-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.map1,258,31708-sept-201505:26Public\Common\Sdk\Crt\Bin\Arm
Msvcr110.rel122,16708-sept-201505:26Public\Common\Sdk\Crt\Bin\Arm
Viited
Teave selle terminoloogia mida Microsoft kasutab tarkvaravärskenduste kirjeldamiseks.

Hoiatus. See artikkel on masintõlgitud.

Atribuudid

Artikli ID: 3008664 – viimati läbi vaadatud: 10/30/2015 00:55:00 – redaktsioon: 1.0

Windows Embedded Compact 2013

  • kbautohotfix kbqfe kbhotfixserver kbfix kbmt KB3008664 KbMtet
Tagasiside