[√]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;”错误的方法
|
XML C++ 数据格式
[√]vld的安装和使用
[√]vld的安装和使用
120 0
|
Shell C++ Windows
[√]尝试使用cmake编译使用vld
[√]尝试使用cmake编译使用vld
109 0
|
存储 编译器 API
[√]vld源码共读
[√]vld源码共读
58 0
|
编译器 API C++
[√]vld编译Release遇到的各种问题
[√]vld编译Release遇到的各种问题
82 0
|
索引
RxSwift操作符merge、zip、combinLatest的使用
RxSwift操作符merge、zip、combinLatest的使用
367 0
CF507E Breaking Good (多关键字最短路 路径还原)
CF507E Breaking Good (多关键字最短路 路径还原)
76 0
|
安全
HDU-1039,Easier Done Than Said?(字符串处理)
HDU-1039,Easier Done Than Said?(字符串处理)
【1084】Broken Keyboard (20 分)
在第二个字符串中出现,则跳出内层for循环;内层for循环结束时,如果第二个字符串未出现c1,且c1未被输出过,则输出c1。 对于上面的判断c1是否输出过:hashtable数
90 0