温馨提示:该页面为Windows软件,不支持手机用户安装使用
MemProof(运行内存清道夫)是AutomatedQA荣誉出品的一款优秀的免费调试工具,专门用于检测内存泄漏和资源泄露。它适用于在WIN32平台上使用DELPHI/C BUILDER开发的应用软件。MemProof可以帮助用户轻松找出未释放的指针和资源。
MemProof通过在调试模式下运行目标程序,监控程序中对象的创建和释放操作,从而实现资源泄露检测。在检测过程中,它会根据资源类型进行计数,每当创建一个资源时计数增加,释放一个资源时计数减少。程序结束时根据计数结果就可以判断出资源泄露的方式。
为了使用MemProof,目标程序需要包含完整的调试信息。在项目选项中,需要取消勾选“Optimization”(代码优化)选项,选择“Stack frames”(为所有过程函数强制形成调用栈)选项,并选择“Debug information”(在DCU文件中生成调试信息)选项。在编译器控制面板中,选择“Use Debug DCU”(编译时链接包含调试信息的VCL DCU文件)选项。在链接器控制面板中,选择“Include TD32 debug info”(将调试信息生成到可执行程序)选项。
一切准备就绪后,现在可以开始调试了。下面是一个用于调试的简单示例程序:
procedure TForm1.FormCreate(Sender: TObject);
begin
CloseHandle(1);
end;
根据上述介绍设置好项目选项后,打开MemProof,选择“File-Open”打开要调试的可执行文件,然后选择“Run-Run”运行。正常退出目标程序后,如果有资源泄露,MemProof会自动打开“Resources details”面板。MemProof可以列出五个内存泄漏,每个内存泄漏都有详细的调用栈情况和相应的源代码位置。有时候它会提示找不到匹配的源代码,这是因为没有指定源代码搜索路径。
MemProof有两个地方可以设置源代码搜索路径,一个在“Configure-Search directories”,另一个在“Projects-Search Directories”。前者是设置全局路径,后者是设置当前路径。通常在全局路径中设置DELPHI的VCL和常用库代码的路径,在当前路径中设置项目自身的源代码路径。MemProof还提供了一个便捷的按钮“Get default for”,使用这个按钮可以方便地获取DELPHI的Library Path。由于一些客户安装了vC可能覆盖了默认调试工具选项,所以可能获取到的是vC的Library path,这种情况下可以直接从Path中复制。
另外MemProof还可以记录之前的检测结果,方便用户进行对比,以及过滤等功能。如果需要检测动态链接库,可以选中“Project-Parameters”,在“Host Applications”中选择主体程序,如果需要带cmd,则在“Parameters”中输入cmd,然后就可以开始检测了。MemProof的调试方式与DELPHI中的调试方式相同,但它不兼容“Attach process”的调试方法,这是一个不足之处。
安装快捷方式
修改或删除您的SD卡中的内容
拥有完全的网络访问权限
控制振动
查看网络连接
开机启动
防止手机休眠
在其他应用之上显示内容
录音
更改您的音频设置
拍摄照片和视频
连接WLAN网络和断开连接
查看WLAN连接
关闭其他应用
卸载快捷方式
让应用始终运行
修改系统设置
检索正在运行的应用
读取您的通讯录
与蓝牙设备配对
访问蓝牙设置
发送持久广播
写入/删除您的通讯录
使用指纹硬件
更改网络连接性
展开/收拢状态栏
查找设备上的帐号
写入/删除您的通讯录
读取同步设置
启用和停用同步
停用屏幕锁定
允许接收WLAN多播
添加或修改日历活动,并在所有者不知情的情况下向邀请对象发送电子邮件
读取日历活动和机密信息
关闭其他应用
请求安装文件包
连接WLAN网络和断开连接
拥有完全的网络访问权限
查看WLAN连接
查看网络连接
访问确切位置信息(以 GPS 和网络为依据)
访问大致位置信息(以网络为依据)
拍摄照片和视频
防止手机休眠
安装快捷方式
开机启动
发送持久广播
控制近距离通信
对正在运行的应用重新排序
读取您的SD卡中的内容