Windows平台一下内存泄漏小工具的开发

开发环境:Win7 64位,VS2013

内存泄漏一直是让C/C++程序员头疼的事情,虽然网上也有许多检查内存泄漏的工具,但是如果能够自己开发一个检查内存泄漏的小工具,并且通过实现一个小工具来深入了解内存分配与释放,以及内存泄漏检查原理,也是对自己能力的极好提升。

下面先展示一下自己开发内存泄漏检查小工具,后面的文章会详细介绍其实现原理。如图:

小工具非常界面非常简单,毕竟界面不是我所关心的重点。1处表示内存泄漏的source源文件;2处表示每一次发生内存分配的请求号,也就是每次调用内存分配函数时的函数调用堆栈记录,双击文件列表可以在1处打开泄漏源文件并定位到泄漏行号;3处代表泄漏汇总窗口,双击一项可以定位到2号窗口的分配请求号位置。

小工具的使用也非常简单,启动Analyzer.exe,如下图:

没错, 该小工具就是利用DLL注入技术,设置想要监听程序的内存分配Hook,监听任意一个分配请求。启动想要监听的程序,如下图:

调用栈窗口会动态刷新内存分配情况,当监听进程结束后,MemoryLeaks窗口是汇总内存泄漏情况。

下面的blog,我会仔细分析这个小工具的实现原理与过程。


源代码参见git地址: https://github.com/Winux1062/MemoryTool

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值