对齐错误

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

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

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