Delphi 完整的Bug决议工具EurekaLog的使用
Delphi 完整的Bug决议工具EurekaLog的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。

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
Delphi 完整的Bug决议工具EurekaLog的使用的更多相关文章
- 实时Bug检测工具Bugsnag发布API更新
原文地址: http://www.uml.org.cn/itnews/2013082609.asp 在应用开发过程中,开发者常常会碰到一个非常头疼的问题,就是应用崩溃.而Bugsnag可以很好地解决这 ...
- 将BUG管理工具(禅道)部署到服务器(测试服务器、云服务器)
禅道是一个开源的项目管理软件,用来记录软件项目的开发过程.bug跟踪以及任务分配,它是基于PHP语言开发的. https://www.zentao.net/download/80111.htm ...
- delphi新手到高手的工具--castalia
castalia翻译是 神泉 ,是delphi的一个优秀第三方工具.其重构功能尤为突出.代码实时编译提示也很棒. 自卑delphi开发工具没有eclipse那么强大的提示?有castalia为你提升信 ...
- windows系统搭建禅道系统(BUG管理工具)
我也呆过三家公司了,用过的BUG管理工具也是五花八门的,常见的一般有禅道,bugzilla,jira等 个人比较推荐禅道,功能强大,主页的说明文档也是相当详细,最主要的是,用的人比较多,出现使用问题一 ...
- bug管理工具为开发者工作带来哪些改变?
BUG管理工具的主要功能是对软件开发测试过程中出现的BUG进行跟踪管理,提高开发者的工作效率与工作质量. 在实际工作中,如果没有bug管理工具的帮助,就可能会出现如下一系列的影响: 1.软件测试人员将 ...
- 开发人员必备的几款bug管理工具
Bug是软件开发过程中的“副产品”,也是开发人员最不想见到的状况.如果没有跟踪和梳理各种bug和问题并及时解决,项目就会花费非常多的时间,导致整个项目的重心偏移.如果在产品开发过程中,使用一个合适的B ...
- iOS 开发 需要的版本管理工具,UI图,bug管理工具等
1.版本管理工具 或直接 终端敲命令SVN(smartSvn 或者cornerstone/终端) 或git (sourceTree/终端) 2. 原型管理工具 使用墨刀(https://modao ...
- Bug管理工具MantisBT-2.18.0安装教程
Bug管理工具MantisBT安装教程 MantisBT官网下载地址:https://sourceforge.net/projects/mantisbt/# 写于:2018.12.1 如上传博客资料图 ...
- 五款轻量型bug管理工具横向测评
五款轻量型bug管理工具横向测评 最近正在使用的本地bug管理软件又出问题了,已经记不清这是第几次了,每次出现问题都要耗费大量的时间精力去网上寻找解决方案,劳心劳力.为了避免再次出现这样的情况,我决定 ...
随机推荐
- c# MessageBox 用法大全
我们在程序中经常会用到MessageBox. 1.MessageBox.Show("Hello~~~~"); 最简单的,只显示提示信息. 2.MessageBox.Show(&qu ...
- java 事件监听 - 键盘
java 事件监听 - 键盘 //事件监听 //键盘事件监听,写了一个小案例,按上下左右,改变圆形的位置,圆形可以移动 import java.awt.*; import javax.swing.*; ...
- Python基础(二)之集合
集合以{}形式表现,一个集合中的元素各不相同,即集合体现为去重的特性.主要用于关系测试,常见的集合操作:交集.并集.插件.子集.父集.对称差集等. 设置集合: list_1 = [1,3,4,5,7, ...
- 如何用Jupyter Notebook打开Spark
电脑已经装了anaconda python,然后下载了spark2.1.0.因为版本太新,所以网上和书上的一些内容已经不再适用.比如关于如何使用IPython和Jupyter,教程给出的方法是用如下语 ...
- 事实证明,abstract类除了不能用new实例化和类没什么区别
abstract类是抽象类,不能够实例化,大家都知道,abstract类往往和接口interface一块儿使用,针对接口中一些公共的方法进行实现,然后实体类去继承抽象类和接口.虽然abstract类不 ...
- 数据结构与算法(1)支线任务8——Find Median from Data Stream
题目如下:(https://leetcode.com/problems/find-median-from-data-stream/) Median is the middle value in an ...
- Java里Serializable的那些事
本文为原创文章,欢迎转载,但请注明出处http://www.cnblogs.com/yexiubiao/p/5014015.html,未在文章页面明显位置给出原文连接的,将保留追究法律责任的权利. 通 ...
- SQLSERVER如何查看索引缺失
SQLSERVER如何查看索引缺失 当大家发现数据库查询性能很慢的时候,大家都会想到加索引来优化数据库查询性能, 但是面对一个复杂的SQL语句,找到一个优化的索引组合对人脑来讲,真的不是一件很简单的事 ...
- VBA中如何动态定义数组
利用 dim Arr()as string这样声明,一旦赋值后,数组大小也就固定了.如果要改变数组大小,要用redim 命令redim arr(10) 加preserve 可以不清空数组,保持原有数据 ...
- 向架构师进军-->可重用架构资源
如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 软件架构有三个主要来源:拿取.方法以及直觉.拿取也就是可重用资源.对于一个标准的系统 ...