简介: 这篇文章将详细介绍 EPIC 组件的安装,EPIC 编辑环境,调试运行环境,着重介绍如何使用 EPIC 来快速、简便、准确地调试 Perl 语言程序,包括对于 Perl 程序的单步执行,断点用法,局部、全局变量实时监控,子函数执行监控,错误以及警告信息实时显示等等内容。利用 EPIC 强大编辑以及调试功能,可以将 Perl 语言适合花短时间完成程序的特点发挥地淋漓尽致,为 tester 的自动化测试脚本提供更加人性化的设计、调试环境。
安装之前需要准备几个重要的组件:
-
Perl 语言编译器
版本要求是 5.8.X 或以上,大多数 UNIX/LINUX 安装包都包括了 Perl 语言编译器的选装包,对于 Windows 平台,可以去指定网站下载相应的安装包 。
1、下载并安装windows下perl环境: AcitvePerl for Windows
http://www.activestate.com/activeperl/downloads2、安装完以后,在cmd中输入“perl -v”查看是否已经安装成功
Eclipse
-
在安装 EPIC 插件之前,选择一个最新版本 Eclipse 进行安装是必不可少的步骤,对于 Eclipse 的版本最低要求是 version 3.1,可以从 [http://www.eclipse.org] 下载 Eclipse 安装包。
由于 Eclipse 安装包不包括 Java Runtime Environment(JRE),为此,我们还需要安装Java 1.4.1 或是更高版本的 Java。
-
PadWalker(全局变量跟踪器)
这个模块不是必须要装的,它的功能就是在 Debug Perl 程序的过程中,监视全局变量的值。怎么样?不能实时监视全局变量的值是任何一个程序员无法忍受的‘减配’吧,为了发挥 EPIC 比较完整调试功能,千万不要拉下这个模块。可以从 CPAN (PadWalker 0.10) 下载这个包,如果是在 window 平台,安装方法如下。
安装方法:开始-->所有程序(Win7),程序(xp)-->ActivePerl 5.xx.xx Build xxxx-->Perl Package Manager,在Perl Package Manager窗口中选择:
1)点击view all package,然后输入padwalker;
2)点击mark for install;
3)点击run mark action;
**这几个按钮在右上角同一行里**
使用 Eclipse 软件的 Eclipse Update Manager 功能去安装 EPIC。
打开 Eclipse, 进入菜单 Help->Software and Updates ->Find and Install...
如图 1 所示:
选择“Search for new features to install” 选择 Next,
选择“Add Update Site... “,在弹出一个对话框中填写用户名和有效的 URL: http://www.epic-ide.org/updates/testing,如图 2 所示:
继续选择' Next ', 直到完成。
- 下载适用于 Perl 5 .8.x的 PadWalker 压缩软件包。
- 解压以后把文件拷贝到 perl 安装目录,比如 C:\Perl。
EPIC 提供了多功能的编辑器,可以方便用户编写 perl 程序,提供了语法高亮显示、语法即时检测、错误以及警告信息注释、Perldoc 查询、变量检查、模块检查、源码折叠等一系列功能,对于编写测试自动化脚本的工程师,书写脚本是整个测试工作的很麻烦的一部分,我们都希望有这个一个利器,能方便快捷地处理这些工作,很幸运,EPIC 帮我们实现了这一切。如图 3 所示:
- 创建一个新工程(也可以在一个已存在的工程中加入你自己的工程)
- 在菜单'File '中选择'Import',当然,也可以新建文件,并用 EPIC 编辑器来编写相关 Perl 程序,对于 EPIC 编辑器,在上文有相关介绍。
- 从弹出的列表中选择'File System'。如图 4 所示:
4. 选择‘ Next ’
5. 在弹出的面板中,单击‘ Browse ’选择要输入文件所在的文件夹,输入文件将会出现在面板上,在此,单击文件前面的复选框,就可以选择要输入到工程中去的文件。如图 5 所示:
6 .单击‘ Finish ’完成当前工作。
在 Eclipse 环境中,调用 Perl 语言编译器来运行调试工程文件,就必须做相应配置,单击菜单‘ project ’,选择‘ Properties ’,将上一步输入工程的文件的绝对路径填写到弹出面板右侧编辑区。如图 6 所示:
首先,对于选中的工程文件,在 EPIC 主界面上选择菜单‘ Run ‘,并在弹出下拉框中选择’ Open Debug Dialog ’,再修改如下配置(选择工程以及要调试的文件):
如图 7 所示:
对于 Perl 程序的运行调试都需要添加 Program Argument,我们可以为新建项目增加 Argument,EPIC 插件也提供了这方面的接口,打开 Debug 对话框,并在项目中 argv items in “(x)= Arguments” 添加相应的 Argument。如图 8 所示:图 8. 调试对话框配置 2
任何程序的调试与运行都是密不可分的,从程序工程师的角度来看,一个程序从编写完毕到最后成功完成,都是一个运行、修改、调试、再运行、再修改、再调试。。。
的过程。EPIC 提供了完整的调试运行环境。
对于选中的工程文件,在 EPIC 主界面上选择菜单‘ Run ‘,并在弹出下拉框中选择’ Run ’,如图 9 所示:红线框住的区域表示程序的整个运行过程和结果都可以看到。
相比较运行程序而言,这一过程显得复杂得多,这也是这篇文件的精髓所在,前面都是为这一步在做必要地铺垫。对于程序员而言,调试程序是不可避免的,通常将要调试的线程挂起,然后利用单步执行方式来实现对整个程序的一行一行代码地执行,同时,观察每一步运行的结果,以及掌握运行过程中变量的变化情况。
EPIC 提供了多种调试操作功能以方便用户实现在编程中的切实需求,包括单步执行、跳入子函数、跳出子函数、断点设置、断点取消、直接执行语句段直至断点位置等等。
- Step Over– 单步执行函数、循环 loop、或执行其他普通语句。正待执行的代码行在 EPIC 编辑器中会被高亮显示出来,此时,线程处于挂起状态,在 Debug 视图工具条中按下这个功能图标 ()(相应的快捷键是' F6 ')后,该行语句将被执行,完毕后,将自动跳转到下一行待执行语句,并使其呈高亮显示状态,该线程继续挂起等待下一步指令。
- Step Into– 可以执行进入函数、循环 loop、或执行其他普通语句。在 Debug 视图工具条中按下这个功能图标 ()(相应的快捷键是'F5'),该功能类同上述‘ Step Over ’,不同之处在与:如果该语句中含有子函数,循环等结构,'Step Over'是直接后台执行完这些子函数或是循环,并返回结果。但是'Step Into'却会按执行栈的顺序执行方式,依次跳入子函数或循环提供单步执行的功能。
- Step Return– 这一功能是针对执行过程已经进入子函数后,可以从当前代码行开始直接后台执行完该子函数剩余代码并返回,不用再单步执行该子函数。在 Debug 视图工具条中按下这个功能图标 ()(相应的快捷键是'F7')。
4. 如果要直接后台执行到最近的下一个程序断点位置可以使用快捷键‘ F8 ‘来实现这一功能。在主界面中选择菜单‘ Run ‘ -> ’ Debug ’ , 就进入程序调试状态了,我们可以选择调试操作方式,包括单步执行、跳到最近的下一个断点再执行,跳入子函数等等,针对这些操作过程中,对于工程师来说,始终关注的都是整个程序的运转情况以及掌握每一步执行操作完成后相关变量的变化情况,为此,我们有必要介绍一些视图,利用这些视图,我们可以更好的掌握程序的调试状况,以利于下一步操作。
首先,进入调试界面接口,可以在主界面中选择:Window-> Show View ->Debug,在弹出来的视图里,可以管理在工作区的正在被调试或是运行程序,它显示了一个工程框架、工作过程中的程序运行状况等等。如图 10 所示:
变量视图能够显示程序在运行过程中的变量的值以及其实时变化情况,这一功能对于调试工作来说是尤为重要的,变量是程序的‘血液‘,程序代码就是通过变量来连接的,掌握变量的情况,就是掌握整个程序的运行状况。
在变量视图里面,可以看到变量栈的框架结构,它显示变量的原始状态,包括结构体变量、哈希变量、list 变量或是对象等等。
全局变量(包括 Perl 内部变量)都有特定图标 , 标注,本地变量有特定图标 (如前文介绍,本地变量必须是安装了 PadWalker 模块才能看见)。
如图 11 所示:
断点视图可以显示该程序文件中所有的断点、它们的状态以及位置。在这个视图里,可以通过选择一个或断点,并激活对应断点的程序文本框,来设定、使之无效或是取消断点。
如图 12 所示:
综上所述,我们已经看到了一个集编辑、编译、调试 Perl 程序为一体的图形化的工具,它解决了若干年来一直困扰着测试工作者的对于 Perl 语言编写自动化脚本‘调试难’的问题。它简洁明了、功能强大的编辑环境也给 Perl 语言编程者带来了世外桃源般得享受。最重要的是获取这一切,您都采取的是免费的方式,因为所有的组件都是开源的,这是一款非常值得推荐的软件工具。
- 有关 EPIC 的更多信息,请参考EPIC 主页。
- 访问 developerWorks Open source 专区获得丰富的 how-to 信息、工具和项目更新以及最受欢迎的文章和教程,帮助您用开放源码技术进行开发,并将它们与 IBM 产品结合使用。
http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-epic/