You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询MEMORYCHECK_SANITIZER_OPTIONS允许值及官方文档位置

MEMORYCHECK_SANITIZER_OPTIONS 取值及文档说明

允许的取值说明

MEMORYCHECK_SANITIZER_OPTIONS里的参数本质是对应你使用的Sanitizer工具(比如AddressSanitizer、LeakSanitizer)的运行时配置选项,CMake只是把这些参数传递给底层的Sanitizer工具,所以这些选项不是CMake自身定义的。你示例里的参数都是常用的Sanitizer选项,含义如下:

  • verbosity=1:控制错误输出的详细程度,1为基础级别,数值越大输出细节越多
  • symbolize=1:开启地址符号化,将内存错误对应的内存地址转换为可读的函数名、文件名和行号(需要编译时保留调试符号)
  • abort_on_error=1:检测到内存错误时立即终止程序,而非继续执行
  • detect_leaks=1:启用内存泄漏检测(属于LeakSanitizer的功能,通常和AddressSanitizer配合使用)

除此之外,还有很多常用选项,比如:

  • detect_stack_use_after_return=1:检测栈内存在函数返回后的非法使用
  • malloc_context_size=10:设置内存分配时记录的调用栈深度(默认是5)
  • log_path=asan_log:将错误日志输出到指定文件,而非标准错误流

官方文档位置

这些选项的官方说明不在CMake或CTest的文档里,因为它们属于Sanitizer工具本身的配置项。你需要查看所使用编译器(比如GCC、Clang)对应的Sanitizer官方文档,里面会列出所有支持的运行时选项,且这些选项的格式(冒号分隔的key=value)和直接通过环境变量(如ASAN_OPTIONS)设置的格式完全一致。

内容的提问来源于stack exchange,提问作者Vinci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 05:35:59