Oprava: Neočekávané chování při spuštění generované aplikací Visual Studio 2008 Service Pack 1, který volá funkci setjmp nebo longjmp ve zdrojovém souboru

Překlady článku Překlady článku
ID článku: 2498381
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Zvažte následující scénář:
  • Povolit (možnost globální optimalizace/Og) povolením na jednu z následujících možností:
    • / O1 
    • / O2 
    • /Ox 
  • Microsoft Visual C++ zdrojový soubor vytvoříte pomocí aplikace Microsoft Visual Studio 2008 Service Pack 1 (SP1).
  • Volání zdrojových souborůsetjmpfunkcelongjmpfunkce, nebo obě funkce.

V tomto scénáři může kompilátor pomocí stejné odsazení zásobníku uložit různé místní proměnné. Proto neočekávané chování dochází při spuštění generované aplikací.

Příčina

K tomuto problému dochází, protože Optimalizátor nezodpovídá za setjmpfunkce nebolongjmpfunkce. To způsobí, že optimalizace nesprávně vypočítat dobu životnosti lokální proměnné. Při změně jedné proměnné může neočekávaně změnit jiné proměnné.

Řešení

Informace o opravě hotfix

Podporovaná oprava hotfix je k dispozici od společnosti Microsoft. Tato oprava hotfix je však určena pouze problém popsaný v tomto článku. Použití této opravy hotfix pouze u systémů, ve kterých dochází k problému popsaného v tomto článku. Tato oprava hotfix může být dále testována. Proto pokud není přísně tento problém, doporučujeme počkat na další aktualizaci softwaru, která bude tuto opravu hotfix obsahovat.

Chcete-li odstranit tento problém okamžitě, obraťte se na technickou podporu společnosti Microsoft, kde získat opravu hotfix. Úplný seznam telefonních čísel služeb zákazníkům společnosti Microsoft a podpoře nebo vytvořit zvláštní požadavek na službu navštivte následující web společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=support
Poznámka: Ve zvláštních případech mohou být stornovány poplatky za podpory účtovány, pokud pracovník technické podpory společnosti Microsoft zjistí, že konkrétní aktualizace vyřeší váš problém. Výdaje na technickou podporu se bude u dalších otázek a problémů, které nemohou být zařazeny v dané konkrétní aktualizaci.

Chcete-li stáhnout tuto opravu hotfix z Galerie Microsoft Developer Network (MSDN) kód, navštivte následující web společnosti Microsoft:
http://Code.msdn.microsoft.com/KB2498381

Poznámka: Galerie kódu MSDN zobrazí jazyky, pro které je oprava hotfix je k dispozici. Pokud není uveden jazyk, je to, 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 aplikace Microsoft Visual Studio 2008 Service Pack 1 nainstalována.

Informace o restartování

Není nutné restartovat počítač po instalaci této opravy hotfix, pokud byly zastaveny všechny instance aplikace Visual Studio.

Informace o nahrazení opravy hotfix

Tato oprava hotfix nenahrazuje žádné dříve vydané opravy hotfix.

Informace o souboru

Globální verze této opravy hotfix nainstaluje soubory, které mají atributy, které jsou uvedeny v následujících tabulkách. Kalendářní data a časy jednotlivých souborů jsou uvedeny v koordinovaný světový čas (UTC). Kalendářní data a časy těchto souborů v místním počítači jsou zobrazeny podle místního času společně podle aktuálního letní čas (DST). Navíc data a časy mohou změnit při provádění některých operací se soubory.
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
C2.dll15.0.30729.61472,283,84025. Února-201101: 25x 86
C2.dll15.0.30729.61472,362,68825. Února-201101: 25x 86
C2.dll15.0.30729.61472,493,24825. Února-201101: 25x 86
C2.dll15.0.30729.61473,018,04825. Února-201101: 25x 64
C2.dll15.0.30729.61477,263,04025. Února-201101: 25IA-64
Program Link.exe9.0.30729.61471,055,56025. Února-201101: 25x 64
Program Link.exe9.0.30729.61472,135,36825. Února-201101: 25IA-64
Program Link.exe9.0.30729.6147800,58425. Února-201101: 25x 86



Jak potíže obejít

Chcete-li tento problém vyřešit, inicializujte místní proměnné v rané fázi funkce tak, aby kompilátor vědom životnost proměnné.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro".

Další informace

Další informace o terminologii aktualizace softwaru klepněte na následující číslo článku databáze Microsoft Knowledge Base:
824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Vlastnosti

ID článku: 2498381 - Poslední aktualizace: 21. dubna 2011 - Revize: 2.0
Klíčová slova: 
kbqfe kbhotfixserver kbfix kbexpertiseinter kbsurveynew kbbug kbmt KB2498381 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:2498381

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com