Įvadas
Šiame straipsnyje aprašoma problema, kain išimtis atsiranda, kai kelias temas skambinti tuo pačiu metu Windows Embedded Compact 7 C vykdymo laiko "atexit" funkcija. Norėdami išspręsti šią problemą galimas naujinys. Prieš diegdami šį naujinimą, turi būti įdiegta visi anksčiau išleisti naujinimai, skirti šį produktą.
Požymiai
Kai kelias temas iškviečia funkciją C vykdymo laiko atexit Windows Embedded Compact 7 vienu metu, gali kilti išimtį. Išimties kodas, kuri iškviečia funkciją atexit paverčiamas nėra arba kai atexit funkcija yra įterpta kompiliatoriui.
Priežastis
Ši problema iškyla, nes funkciją C vykdymo laiko atexit thread-saugus. Todėl atminties lentelė, kurioje naudojama funkcija yra sugadintas.
Sprendimas
Įsivaizduokite tokią situaciją:
Palaikomos programinės įrangos naujinimas jau galima įsigyti iš Microsoft kaip Windows Embedded Compact 7 mėnesio naujinimas (2017 m. birželio).
Pastaba. Šį Windows Embedded kompaktiškas 7 mėnesio naujinimą galima atsisiųsti iš Microsoft Download Center šioje svetainėje:
Būtinosios sąlygos
Šis naujinimas palaikomas tik tada, jei taip pat buvo įdiegti visi anksčiau išleisti naujinimai, skirti šį produktą.
Reikalavimas paleisti iš naujo
Po to, kai įdiegsite šį naujinimą, turite atlikti švarų sukurti viso platformos. Norėdami tai padaryti, naudokite vieną iš toliau nurodytų būdų:
-
Sukurti meniu, spustelėkite Švarią sprendimų, ir spustelėkite Sukurti sprendimą.
-
Meniu sukurti spustelėkite Atkurti sprendimų.
Jums nereikia iš naujo paleisti kompiuterį, kai pritaikę šį programinės įrangos naujinimą.
Naujinimo pakeitimo informacija
Šis naujinimas nepakeičia jokių kitų naujinimų.
Failo informacija
Kaip tai visas bangų išleidimo. Beveik visi dvejetainiai failai turi įtakos šis leidimas.
Nurodytą šaltinio failų susiduria su šiame leidime::
private\winceos\COREOS\core\corelibc\crtw32\startup\cexit.cpp
private\winceos\COREOS\core\corelibc\crtw32\startup\onexit.cDaugiau informacijos
Daugiagijį aplinkoje, funkcija lenteles, atexit gali būti sugadinti dėl ne gijos saugos iš kito atexit skambutį. Tai gali sukelti atminties sugadinimo ir išimtys. Įprasta, kad bus vykdomas, kai programa baigia darbą, arba .dll iškrauna yra naudojamos atexit funkcija. Gijos saugos spraga, gali lemti pakeisti išėjimo įprastas bei sugadinimo išeiti funkcija lenteles.
Nuorodos
Sužinokite daugiau apie terminologiją , kurią "Microsoft" naudoja programinės įrangos naujinimams apibūdinti.