kykx

Google AddressSanitizer简介

AddressSanitizer (ASan) 是 C 和 C++ 的内存错误检测软件,它可以检测:

  • 释放指针后继续使用
  • 堆缓冲区溢出
  • 栈缓冲区溢出
  • 全局缓冲区溢出
  • 返回后继续使用
  • 在范围之外继续使用
  • 初始化顺序的bug
  • 内存泄漏

在 Windows 系统中,可以在 LLVM 和 MSVC 中进行使用。

Visual Studio 2019的配置

先上两个链接:

https://devblogs.microsoft.com/cppblog/addresssanitizer-asan-for-windows-with-msvc/

https://devblogs.microsoft.com/cppblog/asan-for-windows-x64-and-debug-build-support/#16-9-preview-3-and-later

根据这两个链接进行安装配置应该问题不大,Visual Studio 16.9 Preview 3及其以后的版本不需要额外手动配置链接库,建议安装这个版本之后的软件,能省点事情,这样就只需要配置一下项目的属性即可,下面是简单的配置及测试结果。

VS2019.png

AddressSaniziter.png

CLion中的配置

先放个CLion的官方教程链接

配置ToolChains

CLion 中的配置稍微复杂一点,首先配置CLion的工具链,添加一个新的 Visual Studio的配置,正常情况下添加配置的时候会自动识别,但是我的社区版VS2019在CLion 2020.3这个版本下是无法自动识别的。我尝试过手动指定环境也没有识别,几经折腾后我放弃了,转头就安装了个企业版

相关文章: