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

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.