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

简介:

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窗口如果输出类似于如下的泄露报告清单:



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

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















本文转自朱先忠老师51CTO博客,原文链接:http://blog.51cto.com/zhuxianzhong/1441613 ,如需转载请自行联系原作者


相关文章
|
1月前
|
Windows
Microsoft Visual C++2015-2019 安装失败 0x80240017
Microsoft Visual C++2015-2019 安装失败 0x80240017
45 0
|
1月前
|
JSON C++ 数据格式
【C++】Visual Studio C++使用配置Json库文件(老爷式教学)
【C++】Visual Studio C++使用配置Json库文件(老爷式教学)
|
2月前
|
IDE Linux 开发工具
内存泄漏检测工具Valgrind:C++代码问题检测的利器(一)
内存泄漏检测工具Valgrind:C++代码问题检测的利器
152 0
|
1月前
|
关系型数据库 数据库 C++
【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)
【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)
|
2月前
|
算法 安全 编译器
【C++ 关键字 override】C++ 重写关键字override(强制编译器检查该函数是否覆盖已存在的虚函数)
【C++ 关键字 override】C++ 重写关键字override(强制编译器检查该函数是否覆盖已存在的虚函数)
29 0
|
17天前
|
存储 缓存 监控
深入理解Visual Basic内存管理和性能优化
【4月更文挑战第27天】本文探讨了Visual Basic的内存管理和性能优化,包括自动内存管理(垃圾回收)、堆栈区分以及垃圾回收机制的影响。提出减少临时对象创建、选择值类型、优化字符串操作、利用缓存和异步编程等优化策略。同时,讨论了.NET的代际垃圾回收、大对象堆和手动内存管理。通过案例分析和实践建议,强调理解内存模型和监控性能对提升应用性能的重要性。
|
16天前
|
监控 Linux
【专栏】在 Linux 中,掌握检查内存使用情况至关重要,因为内存问题可能导致系统性能下降甚至崩溃。这 5 个命令堪称绝了!
【4月更文挑战第28天】在 Linux 中,掌握检查内存使用情况至关重要,因为内存问题可能导致系统性能下降甚至崩溃。本文介绍了 5 个常用的检查内存命令:1) `free` 提供内存和交换区的详细信息;2) `top` 显示进程信息及内存使用;3) `vmstat` 输出系统综合信息,包括内存动态变化;4) `pidstat` 监控特定进程的内存使用;5) `/proc/meminfo` 文件提供系统内存详细数据。了解和使用这些命令能帮助用户及时发现并解决内存相关问题,确保系统稳定运行。
|
1月前
|
存储 C++
【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)
【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)
|
2月前
|
算法 编译器 C语言
【C/C++ 实用工具】内存泄漏与堆溢出检测工具一览
【C/C++ 实用工具】内存泄漏与堆溢出检测工具一览
34 0
|
2月前
|
安全 编译器 程序员
【C++ 泛型编程 高级篇】C++ 编程深掘:静态成员函数检查的艺术与实践
【C++ 泛型编程 高级篇】C++ 编程深掘:静态成员函数检查的艺术与实践
71 0