http://blog.csdn.net/akof1314/article/details/6968587

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

2011-11-14 14:17 7622人阅读 评论(5) 收藏 举报
 分类:
5.2 Delphi编程(40) 

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

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的使用的更多相关文章

  1. 实时Bug检测工具Bugsnag发布API更新

    原文地址: http://www.uml.org.cn/itnews/2013082609.asp 在应用开发过程中,开发者常常会碰到一个非常头疼的问题,就是应用崩溃.而Bugsnag可以很好地解决这 ...

  2. 将BUG管理工具(禅道)部署到服务器(测试服务器、云服务器)

      禅道是一个开源的项目管理软件,用来记录软件项目的开发过程.bug跟踪以及任务分配,它是基于PHP语言开发的.   https://www.zentao.net/download/80111.htm ...

  3. delphi新手到高手的工具--castalia

    castalia翻译是 神泉 ,是delphi的一个优秀第三方工具.其重构功能尤为突出.代码实时编译提示也很棒. 自卑delphi开发工具没有eclipse那么强大的提示?有castalia为你提升信 ...

  4. windows系统搭建禅道系统(BUG管理工具)

    我也呆过三家公司了,用过的BUG管理工具也是五花八门的,常见的一般有禅道,bugzilla,jira等 个人比较推荐禅道,功能强大,主页的说明文档也是相当详细,最主要的是,用的人比较多,出现使用问题一 ...

  5. bug管理工具为开发者工作带来哪些改变?

    BUG管理工具的主要功能是对软件开发测试过程中出现的BUG进行跟踪管理,提高开发者的工作效率与工作质量. 在实际工作中,如果没有bug管理工具的帮助,就可能会出现如下一系列的影响: 1.软件测试人员将 ...

  6. 开发人员必备的几款bug管理工具

    Bug是软件开发过程中的“副产品”,也是开发人员最不想见到的状况.如果没有跟踪和梳理各种bug和问题并及时解决,项目就会花费非常多的时间,导致整个项目的重心偏移.如果在产品开发过程中,使用一个合适的B ...

  7. iOS 开发 需要的版本管理工具,UI图,bug管理工具等

    1.版本管理工具  或直接 终端敲命令SVN(smartSvn 或者cornerstone/终端)  或git (sourceTree/终端) 2. 原型管理工具 使用墨刀(https://modao ...

  8. Bug管理工具MantisBT-2.18.0安装教程

    Bug管理工具MantisBT安装教程 MantisBT官网下载地址:https://sourceforge.net/projects/mantisbt/# 写于:2018.12.1 如上传博客资料图 ...

  9. 五款轻量型bug管理工具横向测评

    五款轻量型bug管理工具横向测评 最近正在使用的本地bug管理软件又出问题了,已经记不清这是第几次了,每次出现问题都要耗费大量的时间精力去网上寻找解决方案,劳心劳力.为了避免再次出现这样的情况,我决定 ...

随机推荐

  1. 添加Web引用

  2. Unity关于脚本前面的勾选框

    今天做项目时需要在某个事件条件下禁用某个脚本,但是突然发现这个脚本前面没有勾选框,,,就像这样 网上搜了下,原来是需要在脚本中加上void Start()方法,即使这个方法里什么都没有 void St ...

  3. STM8 EEPROM:

    stm8的EEPROM的搽除是写0,FLASH_PRO与FLASH_DATA写的秘钥顺序相反 EEPROM读写前要解锁的.这个很简单,在技术文档里讲得很清楚.我用一个宏定义来代表EEPROM单元.#d ...

  4. aar引用 no executable code found问题

    主工程中 repositories { flatDir { dirs project(':trade_module').file('libs') }} dependencies { compile f ...

  5. SQL时间相关

    SQL --本周第一天 SELECT DATEADD(Day,-(DATEPART(Weekday,getdate())+@@DATEFIRST-)%,getdate()) --or ,getdate ...

  6. CORS 协议(跨域资源共享)

      跨域问题 只要协议.域名.端口有任何一个不同,都被当作是不同的域.   为什么会有跨域的限制? 之前发生过的一些跨域安全事件: 新浪微博XSS受攻击事件 2011年6月28日晚,新浪微博出现了一次 ...

  7. Flask 的 Context 机制

    转自https://blog.tonyseek.com/post/the-context-mechanism-of-flask/ Flask 的 Context 机制 2014 年 07 月 21 日 ...

  8. 【转】el表达式的判断符

    el表达式一般不直接用==判断是否相等 != > < >= <=之类的表示不等于 大于 小于 大于等于 小于等于,而是使用字母表示的表达式,他们的表示如下: == eq 等于 ...

  9. Modelsim-altera 仿真 顶层原理图的解决办法

    解决办法:首先需要将.bdf原理图文件转换为Verilog HDL等第三方EDA工具所支持的标准描述文件.在Quartus下,保持*.bdf为活动窗口状态,运行[File]/[Create/Updat ...

  10. JVM & Server & Connector & Context Relationship