Valgrind¶
- 下载编译安装(也可以直接apt,apt版本可能比较旧)
https://valgrind.org/downloads/current.html cd valgrind-3.24.0 ./configure make -j8 make install(默认安装位置:/usr/local/bin/valgrind)
- 内存检测
valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --track-origins=yes --log-file=report.txt ./test --tool=memcheck: 作用: 指定 Valgrind 使用的工具。memcheck 是 Valgrind 的默认工具,用于检测内存错误,包括内存泄漏、未初始化的内存读取、越界访问等。 --leak-check=full: 作用: 指定 Valgrind 在检查内存泄漏时的详细程度。full 表示 Valgrind 将提供详细的内存泄漏报告,包括每个泄漏的堆栈跟踪信息。 --show-leak-kinds=all: 作用: 指定 Valgrind 显示所有类型的内存泄漏。包括: definite: 确定的内存泄漏。 indeterminate: 不确定的内存泄漏。 possible: 可能的内存泄漏。 --track-origins=yes: 作用: 启用源追踪功能。Valgrind 将尝试追踪未初始化内存的来源,提供更详细的错误信息。 --log-file=mas_check.txt: 作用: 指定 Valgrind 输出日志的文件名。在这个例子中,Valgrind 的输出将被写入 report.txt 文件,而不是默认的标准输出。这使得您可以方便地查看和分析 Valgrind 的报告。