valgrind使用

valgrind使用

Valgrind 是一个用于内存调试、内存泄漏检测和性能分析的工具,主要用于开发过程中帮助程序员找到程序中的内存错误。它可以在多个方面检查程序的行为,包括但不限于:

检测内存泄漏
检查对未初始化内存的使用
检查越界访问
检查非法的堆块分配和释放操作
监控线程间的竞争条件

命令

具体使用方法如下:

valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --track-origins=yes --log-file=<file> --error-exitcode=<number> --verbose --suppressions=<file> python3 ./program_name

每个选项可以自己选择是否加,最简命令:

valgrind --tool=memcheck ./program_name
valgrind --tool=memcheck python3 ./program_name 

如果不加python3则不会以python形式执行代码,而是通过shell解释,可能会出现一些其他的报错。

参数选择:

  1. –tool=memcheck 用来指定你想要使用的工具,默认是 memcheck,其余情况后续补充。
  2. –leak-check=full:提供更详细的内存泄漏信息。
  3. –show-leak-kinds=all:显示所有类型的泄漏(definite, indirect, possible, reachable)。
  4. –track-origins=yes:尝试追踪未初始化值的来源,这会增加运行时间。
  5. –log-file=:将输出重定向到文件而不是标准错误输出,file自己设定。
  6. –error-exitcode=:如果发现错误,则退出时返回给定的状态码,number自己设定。
  7. -v 或 --verbose:启用详细模式,提供更多调试信息。
  8. –suppressions=:使用指定的抑制文件来忽略某些已知无害的警告,file自己设定。
注:
1.program_name请自行替换为自己的文件名,如program.py
2.本篇以查看python代码的内存泄漏为例,不是说valgrind只能在python环境下执行

祝大家学的开心!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值