对齐错误

系统对齐错误处理程序在基于 Itanium 的系统上默认处于关闭状态。 因此,任何未对齐的数据访问都会生成一个异常,除非应用程序在 基于帧的异常处理程序中捕获异常,否则系统不会自动修复该异常。 若要启用系统对齐故障处理程序,请使用 SEM_NOALIGNMENTFAULTEXCEPT 调用 SetErrorMode 函数。 但请注意,如果启用系统对齐错误处理程序并且进程生成对齐错误,则进程可能会遇到严重的性能下降。

如果 WinDbg 调试器已作为系统调试器安装,则当系统上的任何进程生成未经处理的异常时,WinDbg 将自动启动。 如果未将调试器作为系统调试器安装,系统会显示一个对话框,指出应用程序遇到错误,并提供向 Microsoft 报告问题的机会。

在 x64 和 ARM64 系统上,任何对齐故障都由硬件和软件组合处理。 为了获得最佳性能,所有对内存的访问都应正确对齐。 此外,在 ARM64 上应避免未对齐 的互锁变量访问 ,因为这些操作不是原子安全的。