Delphi FastMM4使用(一)

内存泄漏经常出现在本地代码中,特别是多线程和发生异常的情况下,这时候在delphi环境下,FastMM4就特别有用。

调试过程如下:

1.打开FastMM4的调试功能,首先在自己的project里把FastMM4放在最前面,例如:

    FastMM4,
    Main   in   ‘Main.pas’   {MainForm},
可以在project中定义编译常量:FullDebugMode。同时把FastMM_FullDebugMode.dll拷贝到编译后生成的可执行程序所在目录。

再要打开内存泄漏报告:EnableMemoryLeakReporting。一般情况下是缺省打开的。

这样就打开了全调试模式,如果发生内存泄漏将会生成报告文件,如果在IDE运行的时候还会弹出一个对话框显示。报告文件类似:kicoy_MemoryManager_EventLog.txt

2.报告文件由两部分组成,并且是每次运行都会追加,所以使用的时候尽量清空一下在运行。

第一部分是泄漏的详细内容,将每个没释放的内存块详细信息显示出来。例:

A   memory   block   has   been   leaked.   The   size   is:   28       {一个28字节的内存块在程序结束后没有被释放}

{这个内存块在分配的时候的调用堆栈,也就是Call   Stack,可以清楚看出调用函数的次序。如果是系统dll则还有相应的函数名。}
Stack   trace   of   when   this   block   was   allocated   (return   ad
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值