Share via


Ausrichtungsfehler

Der Systemausrichtungs-Fehlerhandler ist auf Itanium-basierten Systemen standardmäßig deaktiviert. Daher generiert jeder nicht ausgerichtete Datenzugriff eine Ausnahme, die vom System nicht automatisch behoben wird, es sei denn, die Anwendung fängt die Ausnahme in einem framebasierten Ausnahmehandler ab. Um den Systemausrichtungsfehlerhander zu aktivieren, rufen Sie die SetErrorMode-Funktion mit SEM_NOALIGNMENTFAULTEXCEPT auf. Beachten Sie jedoch, dass bei Prozessen möglicherweise eine schwerwiegende Leistungsbeeinträchtigung auftritt, wenn der Systemausrichtungsfehlerhandler 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, in dem angegeben wird, dass bei Ihrer Anwendung ein Fehler aufgetreten ist, und die Möglichkeit bietet, 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 nicht ausgerichtete ineinandergreifende Variablezugriff auf ARM64 vermieden werden, da diese Vorgänge nicht atomsicher sind.