微软C++构建工具在Visual Studio 2026中预览支持ARM64目标的AddressSanitizer(ASan),可检测内存错误并提升安全性,支持x86/x64交叉编译。需在项目属性中启用ASan,欢迎反馈建议。
Visual Studio 17.6引入了新的“checked build”功能,使用Address Sanitizer运行时的C和C++。新功能名为continue_on_error(COE),可以诊断和报告隐藏的内存安全错误,且没有误报。开发人员可以通过设置环境变量来启用COE功能,并将内存安全错误流式传输到stdout、stderr或日志文件。COE功能允许应用程序在报告独特的内存安全错误的同时继续运行。编译器会对二进制文件进行仪器化,以与address sanitizer运行时配合使用,现有的测试可以用于发现隐藏的内存安全错误。COE为在Windows上发布C和C++应用程序提供了简单的通过/不通过门槛。该功能显著减少了内存安全错误,如果报告了任何隐藏错误,则不应发布。鼓励开发人员尝试该功能并提供反馈。
内存访问错误是最常见的软件错误,常常造成程序崩溃。程序员们一直在找寻优秀的内存访问错误检测工具,以便及时定位和排除错误以提高软件的可靠性。2012年由谷歌工程师开发的一款AddressSanitizer工具,以其覆盖面广、高效率和低开销的特性,已成为C/C++程序员们的首选。这里对其原理和使用方法做一个简要的介绍。
完成下面两步后,将自动完成登录并继续当前操作。