Udostępnij przez


Błędy wyrównania

Program obsługi błędów wyrównania systemu jest domyślnie wyłączony w systemach opartych na itanium. W związku z tym każdy nieprzygotowany dostęp do danych generuje wyjątek, który nie zostanie automatycznie naprawiony przez system, chyba że aplikacja przechwytuje wyjątek w programie obsługi wyjątków opartym na ramce . Aby włączyć moduł obsługi błędów wyrównania systemu, wywołaj funkcję SetErrorMode za pomocą SEM_NOALIGNMENTFAULTEXCEPT. Należy jednak pamiętać, że procesy mogą wystąpić poważne obniżenie wydajności, jeśli program obsługi błędów wyrównania systemu jest włączony, a proces generuje błędy wyrównania.

Jeśli debuger WinDbg został zainstalowany jako debuger systemu, system WinDbg zostanie uruchomiony automatycznie, jeśli jakikolwiek proces w systemie generuje nieobsługiwany wyjątek. Jeśli nie masz debugera zainstalowanego jako debuger systemu, w systemie zostanie wyświetlone okno dialogowe z informacją, że aplikacja napotkała błąd i umożliwi zgłoszenie problemu firmie Microsoft.

W systemach x64 i ARM64 wszelkie błędy wyrównania są obsługiwane przez kombinację sprzętu i oprogramowania. Aby uzyskać najlepszą wydajność, cały dostęp do pamięci powinien być odpowiednio wyrównany. Ponadto należy unikać nieprzygotowanych dostępu do zmiennych, nieprzystawionych w usłudze ARM64, ponieważ te operacje nie są bezpieczne niepodzielne.