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. 80、Android Support v4、v7、v13的区别以及应用场景

    一.简介 在 Android 开发中,为了使用高版本API的新特性,需要添加额外的包来使用这些新特性,这就是 Android Support 包 二.分类 Android Support v4: 这个 ...

  2. windows平台eclipse for C++开发环境搭建

    参考: 1 blog.sina.com.cn/s/blog_75f3c1f201014l5c.html 2 MinGW官方的安装说明 一.安装并配置MinGW 1 MinGW官网(www.mingw. ...

  3. Unity3d之json解析研究

    Unity3d之json解析研究     json是好东西啊!JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式      JSON简单易用,我要好好研究一下 ...

  4. Window 端口查询

    1. Window环境下查询端口使用情况 方法1: 使用netstat [-参数]|findstr [端口号]来直接查询某个端口的具体使用情况 示例: netstat -ano|findstr &qu ...

  5. [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")

    javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢?   原因在于: ...

  6. 使用微软CORS包不能跨域访问的问题

    使用jquery的ajax异步调用的时候会出现不能跨域访问的问题,这个问题一般有两种方法. 1:使用jsonp跨域 2:使用html5的CORS 在这里只谈论第二种,微软对CORS提供的了支持,在Nu ...

  7. Android 用HorizontalScrollView实现ListView的Item滑动删除 ,滑动错乱 冲突

    用HorizontalScrollView实现类似微信的滑动删除 测试于:Android2.2+ 对于Android来说按键操作已经在减少,越来越多的手势操作层出不穷,今天介绍一款LIstView的I ...

  8. ActivityGroup、TabHost之子页面不刷新——getLocalActivityManager() 以及intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)用法

    TabHost继承自ActivityGroup,以下不再单独列出. ActivityGroup在第一次创建的时候会完整的执行子Activity或子view的生命周期,但在从其他子activity或子v ...

  9. 嵌入式: jffs2,yaffs2,logfs,ubifs文件系统性能分析

    在嵌入式领域,FLASH是一种常用的存储介质,由于其特殊的硬件结构,所以普通的文件系统如ext2,ext3等都不适合在其上使用,于是就出现了专门针对FLASH的文件系统,比较常用的有jffs2,yaf ...

  10. 1219 spring3 项目总结

    Spring3 项目总结 列志华 (组长) http://www.cnblogs.com/liezhihua/ 团队guihub https://github.com/LWHTF/OrderingFo ...