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

如何从CMake向Valgrind传递参数?配置失效问题解决

如何通过CMake向Valgrind传递参数

作为Stack Overflow相关问题的补充,本文探讨如何从CMake向Valgrind传递参数。

用户尝试了以下CMake配置:

# 启用Valgrind检查
set(CTEST_MEMORYCHECK_TYPE "valgrind")
set(CTEST_MEMORYCHECK_COMMAND_OPTIONS "--leak-check=no")

根据CMake官方文档,上述配置应当生效,但执行cmake . + make后,运行ctest -T memcheck仍检测到内存泄漏:

$ ctest -T memcheck | grep "Memory Leak\|Defects"
1/1 MemCheck: #1: test .............................   Defects: 1
Memory Leak - 1

查看生成的DartConfiguration.tcl文件,发现配置的参数并未被写入:

$ sed -n "79,80p" ./DartConfiguration.tcl 
MemoryCheckCommand: /usr/local/bin/valgrind
MemoryCheckCommandOptions: # <--- 此处无内容... 

手动修改DartConfiguration.tcl文件后,配置正常生效:

$ sed -i "s/MemoryCheckCommandOptions:/MemoryCheckCommandOptions: --leak-check=no/g" DartConfiguration.tcl
$ ctest -T memcheck | grep "Memory Leak\|Defects"
$ # 无输出(状态正常)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 13:25:14