如何在Windows下使用Valgrind


Valgrind介绍

Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。
在它的帮助下,我们可以很方便的检测出程序中的内存问题,包括:

  • 内存泄漏
  • 内存错误 (访问为分配的内存等等)
  • 使用未初始化的内存
  • 使用已经释放的内存 (use-after-free)

可惜这么强大的工具(几乎)只能在linux上运行, Windows上是不能直接使用的.好在可以通过Windows下的linux子系统进行使用.

下面是配置linux子系统并初步使用Valgrind的教程:

配置教程

Windows下linux子系统(WSL)的安装

微软官方有很清晰的教程,在此贴上链接:
https://learn.microsoft.com/zh-cn/windows/wsl/install

除了下载,官方文档还含有很丰富的wsl使用教程,顺带都可以详细学习一下.

Valgrind的简单使用

  • 打开你想要检查的程序(exe)所在的文件夹,右键打开终端(Powersell)
  • 命令wsl用于调用linux中的命令,由于Valgrind只能在linux中使用,因此前面要加上’wsl’
  • 假设你要检测的程序名字是’test.exe’, 输入命令
    wsl valgrind ./test
    程序开始运行,Valgrind就会对你的程序进行内存分析了.
  • 小技巧: 编译exe文件时,可以增加debug模式, 比方说用
    gcc -o test -g test.cpp,
    这样Valgrind就会显示出你哪一行的代码运行导致了内存问题.就像gdb一样.
  • Attention: 这里exe文件名前记得加上./的文件目录,
    我测试的时候不加的话运行的程序不是我提供的有内存泄露问题的exe文件.
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值