Simptomi
Apsveriet šādu situāciju:
-
Iespējojat opciju globālā optimizācija (/Og), iespējojot kādu no šīm iespējām:
-
/O1
-
/O2
-
/Ox
-
-
Esat izveidojis Microsoft Visual C++ avota failu, izmantojot Microsoft Visual Studio 2008 1. servisa pakotne (SP1).
-
Avota fails izsauc funkciju setjmp , longjmp funkciju vai abas funkcijas.
Šādā gadījumā kompilators var izmantot pašu steka nobīde jāsaglabā citā vietējā mainīgos. Tāpēc, palaižot izveidoto lietojumprogrammu, var rasties neparedzētas darbības.
Cēlonis
Šī problēma rodas, jo optimizators vērā setjmp funkciju vai funkciju longjmp . Tas izraisa optimizators nepareizi aprēķina kalpošanas vietējo mainīgos. Mainot mainīgie citu mainīgo var negaidīti mainīts.
Risinājums
Informācija par labojumfailu
Korporācija Microsoft piedāvā atbalstītu labojumfailu. Tomēr šis labojumfails ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Lietojiet šo labojumfailu tikai tām sistēmām, kurām ir radusies šajā rakstā aprakstītā problēma. Šajā labojumfailā, iespējams, tiks veikta papildu testēšana. Tādēļ, ja jums šī problēma nerada nopietnus traucējumus, ieteicams pagaidīt nākamos programmatūras atjauninājumus, kuros ir iekļauts šis labojumfails. Lai nekavējoties novērstu šo problēmu, sazinieties ar Microsoft klientu atbalsta pakalpojumu sniedzēju, lai iegūtu labojumfailu. Lai iegūtu pilnīgu sarakstu ar Microsoft klientu apkalpošanas un atbalsta centra tālruņa numuru vai izveidotu atsevišķu pakalpojuma pieprasījumu, apmeklējiet šo Microsoft vietni:
http://support.microsoft.com/contactus/?ws=supportPiezīme. Īpašos gadījumos maksa, kas parasti tiek piemērota par atbalsta zvaniem, var tikt atcelta, ja Microsoft atbalsta speciālists nosaka, ka problēma tiks novērsta, instalējot noteiktu atjauninājumu. Parasti atbalsta izmaksas tiek piemērotas jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu. Lai lejupielādētu šo labojumfailu Microsoft izstrādātāju tīkla (MSDN) kodu galerijas, apmeklējiet šo Microsoft vietni:
http://code.msdn.microsoft.com/KB2498381Piezīme. MSDN kodu galerijā redzamas valodas, kurām ir pieejams labojumfails. Ja tajā nav vajadzīgās valodas sarakstā, tas nozīmē, ka kodu galerijas resursu lapa šajā valodā nav pieejama. Vai šis labojumfails var lejupielādēt no Microsoft Connect šo vietni:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=34826
Priekšnosacījumi
Lai lietotu šo labojumfailu, datorā jābūt instalētai Microsoft Visual Studio 2008 1. servisa pakotnes instalēšanas.
Informācija par restartēšanu
Nav jārestartē dators pēc šī labojumfaila instalēšanas pārtraucot visus gadījumus, kad Visual Studio.
Informācija par labojumfaila aizstāšanu
Šis labojumfails neaizstāj iepriekš izlaistu labojumfailu.
Informācija par failu
Ar šī labojumfaila globālo versiju tiek instalēti faili, kuru atribūti ir norādīti tālāk esošajās tabulās. Šo failu datumi un laiki ir norādīti atbilstoši universālajam koordinētajam laikam (UTC). Šo failu datumi un laiki lokālajā datorā tiek parādīti atbilstoši vietējam laikam, ņemot vērā pašreizējo vasaras / ziemas laika nobīdi. Turklāt datumi un laiki var mainīties, ja ar failiem tiek veiktas noteiktas darbības.
Faila nosaukums |
Faila versija |
Faila lielums |
Datums |
Laiks |
Platformas |
---|---|---|---|---|---|
C2.dll |
15.0.30729.6147 |
2,283,840 |
25 februāris 2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
2,362,688 |
25 februāris 2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
2,493,248 |
25 februāris 2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
3,018,048 |
25 februāris 2011 |
01:25 |
x64 |
C2.dll |
15.0.30729.6147 |
7,263,040 |
25-Feb-2011 |
01:25 |
IA-64 |
Link.exe |
9.0.30729.6147 |
1,055,560 |
25 februāris 2011 |
01:25 |
x64 |
Link.exe |
9.0.30729.6147 |
2,135,368 |
25-Feb-2011 |
01:25 |
IA-64 |
Link.exe |
9.0.30729.6147 |
800,584 |
25-Feb-2011 |
01:25 |
x86 |
Risinājums
Lai novērstu šo problēmu, kompilators var vērā mainīgos dzīves inicializēt lokālo mainīgo sākumā funkciju.
Statuss
Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".
Papildinformācija
Lai iegūtu papildinformāciju par programmatūras atjauninājumu terminoloģiju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:
824684 Microsoft programmatūras atjauninājumu raksturošanai izmantotās standarta terminoloģijas apraksts