다음을 통해 공유


맞춤 오류

시스템 맞춤 오류 처리기는 Itanium 기반 시스템에서 기본적으로 꺼져 있습니다. 따라서 정렬되지 않은 모든 데이터 액세스는 애플리케이션이 프레임 기반 예외 처리기에서 예외를 catch하지 않는 한 시스템에서 자동으로 수정되지 않는 예외를 생성합니다. 시스템 맞춤 오류 처리기를 사용하도록 설정하려면 SEM_NOALIGNMENTFAULTEXCEPTSetErrorMode 함수를 호출합니다. 그러나 시스템 맞춤 오류 처리기를 사용하도록 설정하고 프로세스에서 맞춤 오류를 생성하는 경우 프로세스가 심각한 성능 저하를 경험할 수 있습니다.

WinDbg 디버거가 시스템 디버거로 설치된 경우 시스템의 프로세스가 처리되지 않은 예외를 생성하는 경우 WinDbg가 자동으로 시작됩니다. 시스템 디버거로 디버거를 설치하지 않은 경우 시스템에서 애플리케이션에 오류가 발생했음을 나타내는 대화 상자를 표시하고 문제를 Microsoft에 보고할 수 있는 기회를 제공합니다.

x64 및 ARM64 시스템에서는 모든 맞춤 오류가 하드웨어와 소프트웨어의 조합으로 처리됩니다. 최상의 성능을 위해 메모리에 대한 모든 액세스가 올바르게 정렬되어야 합니다. 또한 이러한 작업은 원자성 안전이 아니기 때문에 ARM64에서 정렬되지 않은 인터락된 변수 액세스를 피해야 합니다.