目的:
本文是《一种定位内存泄露的方法(Solaris)》对应的Linux版本,调试器使用gdb。主要介绍实例部分。其他请见《一种定位内存泄露的方法(Solaris)》。
实例:
模拟new失败的程序:
#include <stdexcept>
class ABC
{
public:
virtual ~ABC(){}
int i;
int j;
};
void f()
{
for (int i = 0; i < 1000; ++i)
{
ABC* p = new ABC;
}
throw std::bad_alloc();
}

本文介绍了如何在Linux环境下使用gdb来定位内存泄露问题。通过分析core文件,查找堆空间的起始地址,遍历指针并过滤结果,最终在SQLServer或Excel中统计分析,找出内存泄露的源头。
最低0.47元/天 解锁文章
4万+

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



