温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Cocos2d-x Win32中使用Visual Leak Detector (for VC++)检查内存泄漏

发布时间:2020-06-24 06:52:45 来源:网络 阅读:1756 作者:googlingman 栏目:游戏开发

Cocos2d-x Win32中使用Visual Leak Detector (for VC++)检查内存泄漏


NOTE:本文引自我于2012-11写于ITPUB上的一篇小文,添加于此主要目前是为方便新开课程《基于CocoStudio开发跨平台拇指空当接龙游戏》学员们参考之用。


Visual Leak Detector(vld,下载地址http://vld.codeplex.com/,当前版本v2.2.3)是VC++环境下一款小巧易用、免费开源的内存泄漏检测工具,相较于VC提供 的CRT Debug Library,vld可以显示导致内存泄漏的完整内存分配调用堆栈。vld具有以下一些特性:

  • 对每个leaked block提供完整的堆栈跟踪,并且包含其源文件及行号信息(符号信息完整时)

  • 能检测出进程内绝大多数类型的leaks,包括COM-based leaks和纯Win32/Win64下的heap-based leaks

  • 可以选择需要排除检测的模块(DLLs或Main EXE)

  • 可定制泄漏清单:保存到文件或发送到debugger输出窗口


使用方法

可以自己编译或使用官网安装包,将vld api和lib文件添加到VC++相应的目录下即可。然后,在需要检测memory leak的模块(.cpp)文件中添加引入vld.h头文件。

简单示例:.............

Debug状态下运行,程序退出后Debugger的OUTPUT窗口如果输出类似于如下的泄露报告清单:


Cocos2d-x Win32中使用Visual Leak Detector (for VC++)检查内存泄漏


清单列出了内存泄露发生在第几块,所在地址,泄露字节数,调用堆栈,内存内容。双击调用堆栈可以跳转到所在行。

注意:在Release模式下,不会链接vld。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI