为ARM64目标引入MSVC AddressSanitizer

为ARM64目标引入MSVC AddressSanitizer

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

微软C++构建工具在Visual Studio 2026中预览支持ARM64目标的AddressSanitizer(ASan),可检测内存错误并提升安全性,支持x86/x64交叉编译。需在项目属性中启用ASan,欢迎反馈建议。

🎯

关键要点

  • 微软C++构建工具在Visual Studio 2026中预览支持ARM64目标的AddressSanitizer(ASan)。
  • ASan是一个运行时内存错误检测工具,可以识别难以发现的错误,并提高内存安全性。
  • ASan长期以来支持x64和x86架构,现在扩展到ARM64。
  • 该功能目前处于预览阶段,可能存在构建、运行时或IDE集成问题。
  • 支持从x86或x64主机交叉编译ARM64目标,但不支持ARM64EC。
  • 在Visual Studio 2026中启用ASan需要在项目属性中设置。
  • 默认情况下,使用VCASan库来改善Visual Studio中的调试体验。
  • 如果在非ARM64主机架构上构建应用程序,必须在ARM64目标机器上执行。
  • 欢迎用户尝试并反馈问题,反馈可通过Visual Studio中的帮助菜单进行。

延伸问答

什么是AddressSanitizer(ASan)?

AddressSanitizer(ASan)是一个运行时内存错误检测工具,可以识别难以发现的内存错误并提高内存安全性。

如何在Visual Studio 2026中启用ASan?

在Visual Studio 2026中,右键点击解决方案,选择属性,然后在C/C++中启用AddressSanitizer选项。

ASan支持哪些架构?

ASan长期以来支持x64和x86架构,现在扩展到ARM64架构。

在使用ASan时需要注意什么?

ASan目前处于预览阶段,可能存在构建、运行时或IDE集成问题,且该功能提供为现状,不提供支持。

如何进行ARM64目标的交叉编译?

可以从x86或x64主机交叉编译ARM64目标,但不支持ARM64EC。

如何反馈ASan的使用问题?

可以通过Visual Studio中的帮助菜单选择发送反馈,报告问题。

➡️

继续阅读