图文解说使用madExcept检测内存泄漏


madExcept的官网在这里,先去看一下http://www.madshi.net/,这么好的控件竟然是免费的,赞一个!下载回来http://madshi.net/madCollection.exe,开始安装.

1.运行madCollection,选择madExcept 5,如下图,然后点击Install:

 

2. 出现license界面,选择Accept license,点Continue

3.输入yes,点Continue

 

4.选择安装目录,点Install。图省事,我就用默认的。

 

5.显示这个界面,安装完成:

 

接下来,看看如何使用madExcept检测内存泄漏:

1.新建一个VCL项目,然后在Project菜单中选择madExcept settings...

 

进入madExcept设置界面:

 

选择OK,看一下项目源代码,madExcept为项目增加了代码,以mad为前缀的几个单元:

program Project3;

uses
  madExcept,
  madLinkDisAsm,
  madListHardware,
  madListProcesses,
  madListModules,
  Vcl.Forms,
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.

运行,再关闭项目,会出下面的提示,没有泄漏:

手工造一个泄漏:

procedure TForm2.Button1Click(Sender: TObject);
var
  b:TButton;
begin
  b:=TButton.Create(nil);
end;

建立个按钮对象,不释放他,运行,点Button1三次,退出项目:

 

这是显示的内存泄漏!可以看出TButton对象,泄漏了三次!

上面的操作,没有写一行代码,仅通过为项目设置madExcept,就实现了内存泄漏检测。

我们还可以用代码,随时控制检测,引用madExcept单元,然后用代码:

感谢朋友007及黑夜杀手!

有朋友问,是否支持fmx项目,答案是肯定的,支持!

Delphi 10.4.1+madExcept 5.1

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM