首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi XE内存泄露检查有关问题

2012-06-10 
delphi XE内存泄露检查问题使用delphi XE,在project的Application.Initialize前加入了如下语句:ReportMem

delphi XE内存泄露检查问题
使用delphi XE,在project的 Application.Initialize;
前加入了如下语句:
 ReportMemoryLeaksOnShutdown := DebugHook<>0;

但是编译时有Warning提示:
symbol 'debughook' is specific to a platform
然后F9运行后,没有任何内存泄露的提示。即使我自己注释掉了某些form的frm.Free;函数,依然没有泄露提示。
哪位大侠给点建议,delphi XE下好用的内存泄露检测工具和检测方法是什么?多谢。



[解决办法]
工程是Debug模式下吗?Release下是不会报的
也许你的窗体是有owner的,所以不用free

你可以在主窗体create中建个对象测试下,比如
var
test: tstringlist;
begin
test := stringlist.create;
//不释放 test
end;
[解决办法]

探讨

哈,如你所述。果然是因为窗体有owner导致自动free所致。用你的测试样例后,能够提示内存泄露了。
不过这个提示也太简单了,有没有像Purify或者valgrind那种可以定位到代码行的内存泄露提示啊?

引用:

工程是Debug模式下吗?Release下是不会报的
也许你的窗体是有owner的,所以不用free

你可以在主窗体create中建……

热点排行