1.启动VMMAP,配置运行程序pdb位置:Options->Configure Symbols
2.通过VMMAP,启动应用程序:File->Select Process
3.分析应用程序堆数据
注意:如果内存泄露随着时间推移,肯定相同的内存会越来越多,此时我们可以通过调用堆栈分析,如下
4.如果通过堆栈还是比较难以定位,或者VMMAP崩溃了,那么只能结合VS的内存窗口数据一起查看数据了,然后根据数据内容分析代码(这可能就要求对代码熟悉程度非常高了)大概位置,进行问题解决。案例分析:
VS断点之后,查看当前VMMAP指向的内存数据:
所以我们在代码表接口打断点并且分析数据,如下:
至此内存泄露定位成功。
VMMAP定位内存泄露
最新推荐文章于 2025-11-11 00:00:00 发布
本文介绍如何利用VMMAP工具定位内存泄漏问题。主要包括启动VMMAP并配置符号文件路径、通过VMMAP启动应用程序、分析应用程序堆数据及通过调用堆栈进一步定位内存泄漏的具体位置。
4万+

被折叠的 条评论
为什么被折叠?



