[√]vld实现对结果自定义排序

简介: [√]vld实现对结果自定义排序

vld 是一个 Visual Leak Detector(VLD)的缩写,是一个用于检测内存泄漏的工具。它是针对 Windows 平台的一个开源库,可用于在调试过程中检测应用程序中的内存泄漏问题。

使用 VLD,你可以通过在代码中引入 VLD 头文件并链接 VLD 库来启用内存泄漏检测。当程序运行时,VLD 会在程序退出时报告任何未释放的内存。它会提供详细的内存泄漏报告,包括泄漏的堆栈跟踪信息,以帮助你定位泄漏发生的位置。

需求:对结果进行自定义的排序,按照泄露大小排行

SIZE_T VisualLeakDetector::ReportLeaks(){
    std::vector<std::pair<DWORD, SIZE_T>> array;
}

如果在ReportLeaks中使用stl相关的类型,会在vldheap.cpp报错

image.png

从调用堆栈中可以看到,的确是因为stl导致的,那只能使用vld提供的数据结构了

image.png

vld提供了Set、Map、Tree,如果要做排序只能自己写算法了,不能借助stl,vld自己其实提供了一个map,不清楚为啥他要自己实现一个,并且这个map提供的功能并不是非常好用,仅仅满足了他自己的需求。

目前就是使用它的数据结构实现了对result自定义排序的功能,暂时满足了项目的需求,至于为啥使用stl会崩溃,暂时就没有时间深究了。

目录
相关文章
|
C语言 Android开发 Windows
解决windows下eclipse创建project时没有include导致出现“unresolved inclusion: &lt;stdio.h&gt;”错误的方法
解决windows下eclipse创建project时没有include导致出现“unresolved inclusion: &lt;stdio.h&gt;”错误的方法
解决windows下eclipse创建project时没有include导致出现“unresolved inclusion: &lt;stdio.h&gt;”错误的方法
|
2月前
|
图形学
小功能⭐️Unity动态更改 Scripting Define Symbols (宏定义)
小功能⭐️Unity动态更改 Scripting Define Symbols (宏定义)
|
11月前
|
XML C++ 数据格式
[√]vld的安装和使用
[√]vld的安装和使用
107 0
|
11月前
|
编译器 API C++
[√]vld编译Release遇到的各种问题
[√]vld编译Release遇到的各种问题
74 0
|
11月前
|
存储 编译器 API
[√]vld源码共读
[√]vld源码共读
51 0
|
11月前
|
Android开发
[√]glGetUniformLocation返回值的问题
[√]glGetUniformLocation返回值的问题
101 0
|
11月前
|
Shell C++ Windows
[√]尝试使用cmake编译使用vld
[√]尝试使用cmake编译使用vld
95 0
CF507E Breaking Good (多关键字最短路 路径还原)
CF507E Breaking Good (多关键字最短路 路径还原)
73 0
|
编译器
Mac下Clion编译错误:Undefined symbols for architecture x86_64
在使用CLion做LeetCode题编译时,突然出现了一下的情况: Undefined symbols for architecture x86_64: "Solution::isCommonPrefix(std:...
5945 0
notepad快捷键大全
Notepad++ 快捷键 大全Ctrl+C 复制Ctrl+X 剪切Ctrl+V 粘贴Ctrl+Z 撤消Ctrl+Y 恢复Ctrl+A 全选Ctrl+F 键查找对话框启动Ctrl+H 查找/替换对话框Ctrl+D 复制并粘贴当行Ctrl+L 删除当前行Ctrl+T 当行向上移动一行F3 查找下一个S...
2557 0