Project

General

Profile

Valgrind

  1. 下载编译安装(也可以直接apt,apt版本可能比较旧)
    https://valgrind.org/downloads/current.html
    cd valgrind-3.24.0
    ./configure
    make -j8
    make install(默认安装位置:/usr/local/bin/valgrind)
    
  2. 内存检测
    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 的报告。