zoukankan      html  css  js  c++  java
  • 图文解说使用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

  • 相关阅读:
    开源协议
    markdown 语法和工具
    mac 终端 使用ftp命令
    谷歌囧大了!安统镜卓5.0刷入遇到system.img系像找不到
    linux下vi命令大全
    python编码处理:unicode字节串转成中文 各种字符串举例说明
    优秀前端资源备忘录
    mousewheel滚轮事件
    bootstrap插件之Carousel
    初识Node.js
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/madExcept.html
Copyright © 2011-2022 走看看