Update: Unerwartetes Verhalten, wenn Sie einer generierten Visual Studio 2008 Service Pack 1-Anwendung ausführen Ruft die Funktion Setjmp oder Longjmp-Funktion in einer Quelldatei

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 2498381
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Betrachten Sie das folgende Szenario:
  • Sie aktivieren die Option globale Optimierung)/ Og), da eine der folgenden Optionen:
    • / O1 
    • / O2 
    • / Ox 
  • Erstellen Sie eine Microsoft Visual C++-Quelldatei mithilfe von Microsoft Visual Studio 2008 Service Pack 1 (SP1).
  • Die Quelle Dateiaufrufe dersetjmpFunktion, dielongjmpFunktion oder beide Funktionen.

In diesem Szenario kann der Compiler die gleichen Stapeloffset verwenden, um verschiedene lokale Variablen zu speichern. Daher kann unerwartetes Verhalten auftreten, wenn Sie die erzeugte Anwendung ausführen.

Ursache

Dieses Problem tritt auf, da der Optimierer nicht berücksichtigt die setjmpFunktion oder dielongjmpFunktion. Dies bewirkt, dass den Optimierer die Lebensdauer der lokalen Variablen falsch berechnet. Wenn eine Variable geändert wird, kann eine andere Variable unerwartet geändert werden.

Lösung

Hotfix-Informationen

Es ist ein unterstützter Hotfix von Microsoft erhältlich. Der Hotfix ist jedoch nur das Problem zu beheben, die in diesem Artikel beschriebenen vorgesehen. Wenden Sie diesen Hotfix nur auf Systemen, bei die das in diesem Artikel beschriebene Problem auftritt. Dieser Hotfix wird möglicherweise zusätzliche Tests angezeigt. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir, dass Sie auf das nächste Softwareupdate zu warten, das diesen Hotfix enthält.

Um dieses Problem sofort beheben möchten, wenden Sie sich an Microsoft Support Services, um den Hotfix zu erhalten. Eine vollständige Liste der Microsoft-Kundendienst und Support-Telefonnummern oder eine separate Serviceanfrage erstellen finden Sie auf die folgende Microsoft-Website:
http://Support.Microsoft.com/contactus/?WS=Support
Hinweis In besonderen Fällen können Gebühren, die normalerweise für Support-Anrufe anfallen storniert werden, wenn der Microsoft-Supportmitarbeiter feststellt, dass ein bestimmtes Update Ihr Problem beheben kann. Die normalen Supportkosten gelten für zusätzliche Supportfragen und Probleme, die für das betreffende Update berechtigt.

Um diesen Hotfix von der Microsoft Developer Network (MSDN) Code Gallery herunterzuladen, besuchen Sie die folgende Microsoft-Website:
http://Code.msdn.Microsoft.com/KB2498381

Hinweis Der MSDN Code Gallery zeigt die Sprachen an, für die der Hotfix verfügbar ist. Wenn Sie Ihre Sprache nicht angezeigt werden, ist es, weil der Code Gallery-Ressourcenseite nicht für diese Sprache verfügbar ist.

Oder Sie können diesen Hotfix von der folgenden Microsoft Connect-Website herunterladen:
https://Connect.Microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID = 34826

Voraussetzungen

Um diesen Hotfix installieren zu können, müssen Sie Microsoft Visual Studio 2008 Service Pack 1 installiert haben.

Informationen zum Neustart

Sie müssen keinen Neustart des Computers, nachdem Sie diesen Hotfix, installieren Wenn Sie alle Instanzen von Visual Studio nicht mehr.

Ersetzte Hotfixes

Dieser Hotfix ersetzt keinen zuvor veröffentlichten Hotfix.

Dateiinformationen

Die internationale Version dieses Hotfixes installiert Dateien mit die Attributen, die in den folgenden Tabellen aufgeführt sind. Die Datumsangaben und Uhrzeiten für diese Dateien werden in Coordinated Universal Time (UTC) aufgeführt. Die Datumsangaben und Uhrzeiten für diese Dateien auf Ihrem lokalen Computer werden in Ihrer lokalen Zeit zusammen mit Ihren aktuellen Daylight Saving Time (DST)-Bias angezeigt. Darüber hinaus können die Datumsangaben und Uhrzeiten ändern, wenn Sie bestimmte Operationen auf Dateien anwenden.
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumZeitPlattform
C2.dll15.0.30729.61472,283,84025-Feb-201101: 25X 86
C2.dll15.0.30729.61472,362,68825-Feb-201101: 25X 86
C2.dll15.0.30729.61472,493,24825-Feb-201101: 25X 86
C2.dll15.0.30729.61473,018,04825-Feb-201101: 25X 64
C2.dll15.0.30729.61477,263,04025-Feb-201101: 25IA-64
Link.exe9.0.30729.61471,055,56025-Feb-201101: 25X 64
Link.exe9.0.30729.61472,135,36825-Feb-201101: 25IA-64
Link.exe9.0.30729.6147800,58425-Feb-201101: 25X 86



Abhilfe

Um dieses Problem zu umgehen, initialisieren Sie die lokalen Variablen in einer frühen Phase der Funktion so, dass der Compiler die Variablen Lebensdauer bewusst sein kann.

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Beziehen sich auf" aufgeführt sind.

Weitere Informationen

Weitere Informationen zur Terminologie für Softwareupdates finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
824684 Beschreibung der Standardterminologie, die zum Beschreiben von Softwareupdates von Microsoft verwendet wird

Eigenschaften

Artikel-ID: 2498381 - Geändert am: Donnerstag, 21. April 2011 - Version: 2.0
Keywords: 
kbqfe kbhotfixserver kbfix kbexpertiseinter kbsurveynew kbbug kbmt KB2498381 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 2498381
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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