Příznaky
Jde o takovouto situaci:
-
Povolit možnost globální optimalizace (/Og) povolíte-li některou z následujících možností:
-
/O1
-
/O2
-
/Ox
-
-
Microsoft Visual C++ zdrojový soubor vytvoříte pomocí Microsoft Visual Studio 2008 Service Pack 1 (SP1).
-
Zdrojový soubor volání setjmp funkce, funkce longjmp nebo obě funkce.
V tomto scénáři může kompilátor použít stejný Posun zásobníku ukládat různé místní proměnné. Proto může dojít k neočekávanému chování při spuštění generované aplikací.
Příčina
K tomuto problému dochází, protože Optimalizátor nezodpovídá za funkci setjmp nebo longjmp . To způsobí Optimalizátor nesprávně vypočítat dobu platnosti místní proměnné. Při změně jedné proměnné jiné proměnné může neočekávaně změnit.
Řešení
Informace o opravě hotfix
Společnost Microsoft má k dispozici podporovanou opravu hotfix. Tato oprava hotfix je však určena opravit pouze problému popsaného v tomto článku. Tuto opravu hotfix instalujte pouze do systémů, ve kterých dochází k potížím popsaným v tomto článku. Tato oprava hotfix může být dále testována. Proto pokud nejste vážně ohrožen tímto problémem, doporučujeme počkat na další aktualizaci softwaru, která obsahuje tuto opravu hotfix. Chcete-li tento problém vyřešit okamžitě, obraťte se na technickou podporu společnosti Microsoft získat opravu hotfix. Pro úplný seznam telefonních čísel společnosti Microsoft Zákaznikého servisu a podpory nebo chcete-li vytvořit zvláštní požadavek na službu navštivte následující web společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=supportPoznámka Ve zvláštních případech nemusí být poplatky za poskytnutí telefonické podpory účtovány, pokud pracovník služeb podpory společnosti Microsoft potvrdí, že konkrétní aktualizace odstraní váš problém. Výdaje na technickou podporu použije dalších otázek a problémů, které nelze vyřešit konkrétní aktualizací. Chcete-li stáhnout tuto opravu hotfix z Galerie kódu Microsoft Developer Network (MSDN), navštivte následující web společnosti Microsoft:
http://code.msdn.microsoft.com/KB2498381Poznámka Galerie kódu MSDN zobrazí jazyky, pro které je oprava hotfix k dispozici. Pokud není uveden jazyk, je protože zdroj stránky galerie kód není k dispozici pro daný jazyk. Nebo můžete tuto opravu hotfix můžete stáhnout z následujícího webu Microsoft Connect:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=34826
Požadavky
Chcete-li nainstalovat tuto opravu hotfix, musí mít Microsoft Visual Studio 2008 Service Pack 1 nainstalována.
Informace o restartování počítače
Nemáte k restartování počítače po instalaci této opravy hotfix, pokud byly zastaveny všechny instance aplikace Visual Studio.
Informace o nahrazení opravy Hotfix
Tato oprava hotfix nenahrazuje dříve vydanou opravu hotfix.
Informace o souborech
Globální verze této opravy hotfix instaluje soubory, které mají atributy uvedené v následujících tabulkách. Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Data a časy těchto souborů se zobrazují v místním počítači podle místního času a podle aktuálního nastavení letního času. Data a časy se mohou změnit, provedete-li se soubory určité operace.
Název souboru |
File version |
Velikost souboru |
Date |
Time |
Platform |
---|---|---|---|---|---|
C2.dll |
15.0.30729.6147 |
2,283,840 |
25. února 2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
2,362,688 |
25. února 2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
2,493,248 |
25. února 2011 |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
3,018,048 |
25. února 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. února 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 |
Alternativní řešení
Chcete-li tento problém vyřešit, inicializujte místní proměnné ve funkci brzy tak, aby kompilátor vědom životnost proměnné.
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Další informace
Pro další informace o terminologii používané v aktualizacích softwaru, klepněte na následující číslo článku k zobrazení článku v databázi Microsoft Knowledge Base:
824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft