首页 > 代码库 > 内存泄露

内存泄露




本文由 代码助手软件 整理发布 内容与本软件无关 更惬意的读、更舒心的写、更轻松的发布









Detected memory leaks!
Dumping objects ->

有内存泄露。

确定内存泄露的地方

根据内存泄露的报告,有两种消除的方法:

第一种比较简单,就是已经把内存泄露映射到源文件的,可以直接在"输出"窗口中双击包含文件名和行号的行

第二种比较麻烦,就是不能映射到源文件的,只有内存分配块号。

这种情况我采用一种"试探法"。由于内存分配的块号不是固定不变的,而是每次运行都是变化的,所以跟踪起来很麻烦。但是我发现虽然内存分配的块号是变化的,但是变化的块号却总是那几个,也就是说多运行几次,内存分配的块号很可能会重复。因此这就是"试探法"的基础。

1.先在调试状态下运行几次程序,观察内存分配的块号是哪几个值;

2.选择出现次数最多的块号来设断点,在代码中设置内存分配断点。

在APP初始化时添加如下一行(对于第 18 个内存分配): ,使用此方法成功找到了一个内存泄露问题。

_crtBreakAlloc = 18;

_CrtSetBreakAlloc(18);


内存泄露