Visual Studio 2022版本17.13中的MSVC地址消毒器更新

Visual Studio 2022版本17.13中的MSVC地址消毒器更新

💡 原文英文,约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内的反馈功能提交。

延伸问答

MSVC地址消毒器(ASan)在过去一年有哪些重要更新?

过去一年,MSVC地址消毒器在与LLVM协调、增强内部工具覆盖和API安全性等方面进行了重要投资。

MSVC ASan如何与LLVM进行协调?

从Visual Studio 2022版本17.12起,MSVC ASan每周从LLVM主干获取更改,支持Windows特定功能。

MSVC ASan的主要功能是什么?

MSVC ASan用于识别内存安全问题,防止新缺陷引入,主要用于测试目的。

在Visual Studio 2022版本17.13中修复了哪些问题?

修复了多个内存管理和API拦截相关的问题,包括提高了全局和局部内存管理的互操作性。

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

开发者不应发布启用ASan的二进制文件,ASan仅用于测试目的。

如何反馈MSVC或Visual Studio的问题和建议?

用户可以通过开发者社区或在Visual Studio内的反馈功能提交问题或建议。

➡️

继续阅读