💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

过去一年,我们在MSVC地址消毒器(ASan)上进行了重要投资,包括与LLVM的协调、增强内部工具覆盖和API安全性。从Visual Studio 2022版本17.12起,ASan与LLVM主干每周同步,支持Windows特定功能,并集成到MSVC代码库中,以在持续集成中识别内存安全问题,防止新缺陷引入。

🎯

关键要点

  • 过去一年在MSVC地址消毒器(ASan)上进行了重要投资,包括与LLVM的协调、增强内部工具覆盖和API安全性。
  • MSVC ASan源自LLVM仓库的一个分支,之前基于过时的LLVM版本,无法及时整合新版本的更改。
  • 已完成MSVC ASan运行时的主要部分上游化,现在可以在开放环境中进行更多工作,并每周从LLVM主干获取更改。
  • 针对Windows的特定支持尚未上游化,包括拦截更多内存分配器和提供“继续错误”模式。
  • 最近将ASan集成到MSVC代码库中,构建编译器、链接器、代码分析工具和运行时库以进行测试。
  • ASan仅用于测试目的,开发者不应发布启用ASan的二进制文件。
  • MSVC代码库历史悠久,许多ASan能够识别的错误已通过内部测试解决,但仍需防止新内存安全问题的引入。
  • 在Visual Studio 2022版本17.13 GA中修复了多个内存管理和API拦截相关的问题。
  • 欢迎用户下载Visual Studio并尝试地址消毒器,反馈问题或建议可通过开发者社区或Visual Studio内的反馈功能提交。
➡️

继续阅读