EurekaLog为Delphi和C++Builder开发者提供的,一个完整的Bug决议工具。能让所编写的应用程序有能力捕获任何异常和内存泄露,直接在最终用户的电脑上,生成调用堆栈的详细日志(包括file, class, method and line number),可以设置通过Email或者WEB发送每个日志的副本。据官方的Features介绍,其企业版包含源代码,支持Delphi版本3-7、2005-2010、XE-XE2,编译后的文件大约增加300千字节。
从网上下载 EurekaLog,根据其提示进行安装,如下图所示:
官方自带有教学使用Flash视频、还有Demo以及帮助文档。下面简单测试对此工具的使用:
1.新建Delphi 2010应用程序,在界面上放置一个按钮,按钮事件代码如下所示:
1 2 3 4 |
|
procedure TForm1.btn1Click(Sender: TObject); begin raise Exception.Create('这是一个异常!'); end; |
2.菜单→"Project"→"
EurekaLog Options...",在左下角打钩"
Activate EurekaLog",按"
OK"完成,如下所示;
3.编译,然后脱离IDE运行程序,点击按钮如下图所示:
点击对话框上的"
click here",弹出如下详细对话框:
切换到"
Call Stack"页面,双击提示的异常线程下的异常单元"Unit1.pas",则会自动切换到Delphi IDE定义到异常的那一行。如下图所示:
4.保存工程,对比加入
EurekaLog功能前后的程序大小,如下图所示:
大概会增加490千字节。EurekaLog可以自定义异常对话框显示风格、自定义消息显示文本内容,可以将错误报告发送到Email、Web,下面测试发送到一个FTP服务器端,如下截图进行"
Email & Web send"设置:
然后脱离IDE进行测试,点击按钮,截图所下所示:
要使用EurekaLog进行内存泄露检测,需要手动开启"
EurekaLog Options..."下的"
Advanced Options"旁的"
Memory-Leaks Options"全部打钩,对按钮事件改写如下:
1 2 3 4 5 6 |
|
procedure TForm1.btn1Click(Sender: TObject); var sl: TStringList; begin sl := TStringList.Create; end; |
编译、脱离IDE运行程序,点击按钮(无现象),点关闭窗体,弹出如下对话框:
查看详细堆栈调用,可发现如下信息提示:
双击即可定位到此行。EurekaLog自带有一个
EurekaLog Viewer,可查看"
.elf"日志信息,如下图所示:
扩展资料:
1.EurekaLog contains all the features http://eurekalog.com/features_delphi.php
2.图解如何用Eurekalog跟踪程序错误 http://blog.csdn.net/baronyang/article/details/4379972