Ausrichtungsfehler

Der Systemausrichtungsfehlerhandler ist auf Itanium-basierten Systemen standardmäßig deaktiviert. Daher generiert jeder nicht ausgerichtete Datenzugriff eine Ausnahme, die nicht automatisch vom System behoben wird, es sei denn, die Anwendung fängt die Ausnahme in einem framebasierten Ausnahmehandlerab. Rufen Sie die SetErrorMode-Funktion mit SEM _ NOALIGNMENTFAULTEXCEPT auf, um die Systemausrichtungsfehlerhander zu aktivieren. Beachten Sie jedoch, dass es bei Prozessen zu schwerwiegenden Leistungseinbußen kommen kann, wenn der Handler für Systemausrichtungsfehler aktiviert ist und der Prozess Ausrichtungsfehler generiert.

Wenn der WinDbg-Debugger als Systemdebugger installiert wurde, wird WinDbg automatisch gestartet, wenn ein Prozess auf dem System eine nicht behandelte Ausnahme generiert. Wenn Sie keinen Debugger als Systemdebugger installiert haben, zeigt das System ein Dialogfeld an, das angibt, dass für Ihre Anwendung ein Fehler aufgetreten ist, und bietet die Möglichkeit, das Problem an Microsoft zu melden.

Auf x64- und ARM64-Systemen werden alle Ausrichtungsfehler durch eine Kombination aus Hardware und Software behandelt. Um eine optimale Leistung zu erzielen, sollte der gesamte Zugriff auf den Arbeitsspeicher ordnungsgemäß ausgerichtet sein. Darüber hinaus sollte der Zugriff auf nicht ausgerichtete interlocked-Variablen auf ARM64 vermieden werden, da diese Vorgänge nicht atomar sicher sind.