Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Update: Programme, die in Visual C++ 2013 Crash "Ungültige Anweisung" Ausnahme erstellt werden

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 3174417
Problembeschreibung
Beim Erstellen einer Anwendung mit Microsoft Visual C++ 2013 stürzt das Programm ab, und Sie erhalten eine Ausnahme "Ungültige Anweisung". Dies tritt auf, weil einige Gleitkommaoperationen Bibliotheksfunktionen in Visual C++ 2013 X64 C Runtime (CRT), ob bestimmte Befehle AVX und FMA3 verfügbar sind, bevor die Funktionen ihrer Verwendung nicht richtig überprüfen. Wenn die Informationen nicht verfügbar sind, führen Aufrufe an diese Funktionen eine ungültige Anweisung-Ausnahme (0xc000001d). Betroffene Funktionen gehören Log, log10, und pow.

Dieses Problem wird wahrscheinlich in den folgenden Szenarien auftreten:
  • Auf eine ältere Version des Windows-Betriebssystems, die AVX unterstützt Status speichern (z. B. Windows Vista) auf einem Computer verwendet wird, die den AVX-Befehlssatz unterstützt
  • Wenn die Boot-Konfiguration AVX Zustand speichern deaktiviert
  • Unter Windows gehörende (Windows PE)

    Hinweis Windows PE unterstützt AVX Zustand speichern.

Dieses Problem wurde in Microsoft Connect gemeldet:

Ursache
Dieses Problem tritt auf, weil Visual C++ 2013 X64 C Runtime nicht überprüft, ob das Betriebssystem AVX Zustand speichern unterstützt, bevor AVX oder der FMA3 ausgeführt.
Lösung
Wenn alle betroffene C++-Binärdateien, die mit Visual C++ 2013 integriert sind C-Laufzeit-DLL (msvcr120.dll) verwenden, installieren Sie aktualisierte Microsoft Visual C++ 2013 Redistributable – 12.0.40660.0 oder höher.

Wenn die betroffenen C++ Binärdateien statisch Visual C++ 2013 C Runtime verknüpfen, müssen Sie die Installation von Visual Studio 2013 aktualisieren 3174417 Hotfix installieren und Neuerstellen und die betroffenen Binärdateien einbringt.

Hinweis Dieses Problem betrifft Versionen der Visual C++ C Runtime (Visual C++ 2012 und früheren Versionen) nicht. Vor der ersten Veröffentlichung von Universal CRT, die von Visual C++ 2015 verwendet wird, wurde das Problem behoben.

Microsoft Download Center

Statisch verknüpften Visual C++ 2013 C-Laufzeit, 3174417 Hotfix als reine Update veröffentlicht und nicht über Windows Update verteilt. Es steht auf der Microsoft Download Center-Website:

HerunterladenPaket jetzt herunterladen

Dynamisch verknüpfte Visual C++ 2013 C Runtime-DLLs, eine aktualisierte aktualisieren verteilbare Datei steht. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

Abhilfe
Dateneingabe dieses Problem deaktivieren FMA3 Math Library, wenn Sie von diesem Problem betroffen sind. Sie können Abfragen, ob AVX-Anweisungen unterstütztGetEnabledXStateFeatures aufrufen und in der CRT AVX explizit durch Aufrufen von _set_FMA3_enable(0)deaktivieren.

Weitere Informationen finden Sie unter Arbeiten mit XState Kontext auf der MSDN-Website.

Die Funktion _set_FMA3_enable(0) wird im <math.h>deklariert, und es steht nur bei für X64 erstellen. (Dieses Problem betrifft nur die X64 Bibliotheken für.) Dadurch Math-Bibliothek mit der Implementierung nicht FMA3 wiederherstellen. </math.h>

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 3174417 – Letzte Überarbeitung: 07/28/2016 08:19:00 – Revision: 1.0

Visual Studio 2013 Community Edition

  • kbfix kbqfe atdownload kbexpertiseadvanced kbsurveynew kbmt KB3174417 KbMtde
Feedback
/html>