CnPack Forum


 
Subject: 关于CnMemProf的一个问题
app2001
新警察
Rank: 1



UID 167
Digest Posts 0
Credits 17
Posts 17
点点分 17
Reading Access 10
Registered 2003-10-3
Status Offline
Post at 2005-2-1 15:56  Profile | Blog | P.M. 
关于CnMemProf的一个问题

我用的是DBGRIDEH的3.4版本,当我用CNPACK的CnMemProf来检查时,我只在一个窗体上放一个DBGRIDEH,然后运行,结束后报告有8个内存泄漏,我换成3.2和3.3的版本也一样。怎么会这样?
Top
app2001
新警察
Rank: 1



UID 167
Digest Posts 0
Credits 17
Posts 17
点点分 17
Reading Access 10
Registered 2003-10-3
Status Offline
Post at 2005-2-2 09:00  Profile | Blog | P.M. 
没人回复吗?
Top
shenloqi
灌水处处长
Rank: 4



UID 34
Digest Posts 1
Credits 287
Posts 179
点点分 287
Reading Access 10
Registered 2003-3-15
Status Offline
Post at 2005-2-2 09:59  Profile | P.M. 
我测试无此问题

我是用CnPack->Repository列表->CnMemProf工程向导。然后在窗体上放一个DBGridEh,测试结果是:
获取=579,释放=579,重分配=3。没有泄露。
Top
app2001
新警察
Rank: 1



UID 167
Digest Posts 0
Credits 17
Posts 17
点点分 17
Reading Access 10
Registered 2003-10-3
Status Offline
Post at 2005-2-2 17:47  Profile | Blog | P.M. 
用CnPack->Repository列表->CnMemProf工程向导,正好我想问一下这个问题,我按这个向导去操作,就会生成一个新的项目,且不能运行,我查看帮助,上面说要安装CnMemProf,但这个东东去哪弄来安装呀?
我现在的办法是,从SOURCE的包里找到这个源文件,然后添加到我的项目中去测试的。就出现了上述的问题,要如何才能正确使用呢???
Top
shenloqi
灌水处处长
Rank: 4



UID 34
Digest Posts 1
Credits 287
Posts 179
点点分 287
Reading Access 10
Registered 2003-3-15
Status Offline
Post at 2005-2-2 21:22  Profile | P.M. 
我链接的路径也就是Source下的;对了你的Delphi版本是什么?Delphi6如果没有SP2的话[不记得了,Delphi5和7都没有这个问题]的确是会有泄漏,尤其是打开RTTI功能后。
Top
app2001
新警察
Rank: 1



UID 167
Digest Posts 0
Credits 17
Posts 17
点点分 17
Reading Access 10
Registered 2003-10-3
Status Offline
Post at 2005-2-7 16:02  Profile | Blog | P.M. 
那就奇了,俺用的也是D7耶。我回去又试了一下,代码如下:
program Project1;

uses
  CnMemProf in '..\框架\CnMemProf.pas',
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  mmPopupMsgDlg := True;
  mmShowObjectInfo := True;
  mmUseObjectList := False;
  mmSaveToLogFile := False;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
//////////////////////////////////////////////////////////////////////////////////////
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGridEh;

type
  TForm1 = class(TForm)
    DBGridEh1: TDBGridEh;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.
//////////////////////////////////////////////////////////////////////////////////

2005-02-07 16:03:10

程序运行时间: 0 小时 0 分 3 秒。
替换内存管理器前已分配 79 处内存。
可用地址空间: 1024 千字节
未提交部分: 1008 千字节
已提交部分: 16 千字节
空闲部分: 13 千字节
已分配部分: 2 千字节
地址空间载入: 0%
全部小空闲内存块: 1 千字节
全部大空闲内存块: 11 千字节
其它未用内存块: 0 千字节
内存管理器消耗: 0 千字节

内存对象数目: 8。
Top
app2001
新警察
Rank: 1



UID 167
Digest Posts 0
Credits 17
Posts 17
点点分 17
Reading Access 10
Registered 2003-10-3
Status Offline
Post at 2005-2-7 16:10  Profile | Blog | P.M. 
我用的是DELPHI盒子里下的
http://www.2ccc.com/article.asp?articleid=677   
这个是3.2的
http://www.2ccc.com/article.asp?articleid=1268
这个是3.4的
Top
app2001
新警察
Rank: 1



UID 167
Digest Posts 0
Credits 17
Posts 17
点点分 17
Reading Access 10
Registered 2003-10-3
Status Offline
Post at 2005-2-18 16:07  Profile | Blog | P.M. 
再给俺出些主意好不好???
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2005-2-19 11:21  Profile | Site | Blog | P.M. 
内存泄漏检查工具一般有两类:
1、编译进用户工程在运行期替换默认的内存管理器进行统计分析。CnMemProf、MemCheck、ExceptionMagic 等属于这一类。
2、不修改用户工程,而是使用特定的装载器在运行期替换掉可执行文件资源管理相关 API 来进行统计。常见的有 MemProof、AQTime 等。

您也可以试试使用 MemProof 来测试一下,网上搜索一下可以找到。




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
app2001
新警察
Rank: 1



UID 167
Digest Posts 0
Credits 17
Posts 17
点点分 17
Reading Access 10
Registered 2003-10-3
Status Offline
Post at 2005-2-22 18:16  Profile | Blog | P.M. 
哦,好的,谢谢
Top
rlz
新警察
Rank: 1



UID 744
Digest Posts 0
Credits 4
Posts 4
点点分 4
Reading Access 10
Registered 2005-3-13
Status Offline
Post at 2005-3-13 18:05  Profile | Blog | P.M. 
我使用CnMemProf检测了一下我写的一个程序,结果发现有内存泄漏,我如何知道是在那一块发生泄漏的呢?请高手指教.
Top
 




All times are GMT++8, the time now is 2024-12-21 21:28

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.008349 second(s), 7 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP