我在Borland Builder C++ 6中运行以下代码,可以看到内存(私有工作集)、Windows 任务管理器中程序使用的内存增加,我认为这是内存泄漏。
for (int i = 0; i < 100000; i++)
{
try {
int n = 0;
int r = 1 / n; //division by zero
}
catch (EDivByZero& e) {}
}
我尝试用 Builder C++ 替换默认内存管理器,FASTMM4
但看到相同的行为。是因为内存泄漏还是内存碎片,因为我在两者之间感到困惑。我相信在这两种情况下,程序都必须将虚拟内存分页到磁盘,从而增加使用的内存。
查看虚拟内存是区分泄漏和碎片的好主意,但我该怎么做呢?windows 里面有没有工具可以测试呢?