[发明专利]一种调试方法和调试器无效

专利信息
申请号: 200810091695.3 申请日: 2008-04-14
公开(公告)号: CN101561779A 公开(公告)日: 2009-10-21
发明(设计)人: C·L·贝茨;涂波 申请(专利权)人: 国际商业机器公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京市金杜律师事务所 代理人: 吴立明;庞淑敏
地址: 美国纽*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 调试 方法
【说明书】:

技术领域

发明涉及计算机应用开发领域,更具体地,本发明涉及一种调试方法和调试器。

背景技术

在整个应用程序开发周期中,调试是一项繁琐但却必不可少的任务。在调试过程中,编程人员借助于调试器来跟踪程序的执行过程,以便确定有问题代码的位置,进而对程序代码进行修正以消除错误。

在调试时,通常会出现需要强制执行指令的情况。例如,当程序执行到诸如if、while、case、switch等的条件语句时,用户(即编程人员)可能怀疑程序的问题出现在该条件语句中的某个分支,这时用户会期望进入期望的分支来进行调试。在这种情况下,通常用户需要通过改变条件语句的条件表达式中的变量值,来使程序执行进入到期望的分支。

在变量较少且变量之间的逻辑关系较为简单的情况下,用户可以容易地通过改变这些变量的值而进入期望的分支。然而,在很多情况下,条件表达式中有很多变量,并且变量之间的关系也非常复杂,甚至还可能涉及到复杂的函数。这时,想要确定应该如何设置变量就变得非常困难,尤其是对于诸如过程语言/接口指令(Programlanguage/Machine Instruction,PL/MI)一些老旧代码。通常用户花费了大量精力来改变变量,但是却没有进入期望的分支。这时要想进入期望的分支,用户就必须重新运行程序,并再次尝试改变变量的值。

在现有技术中,已经出现一些允许程序执行退回的调试器,这为用户提供了改变变量值的机会,同时无需重新运行程序。但是,由于变量过多且变量关系过于复杂,因此用户仍然需要尝试很多次,这非常麻烦。另外,在进入期望的分支之前,用户可能已经尝试大量的变量,所以重建用户所处的确切状态很困难,这要求用户在每次程序执行退回时,将已经被改变的值恢复到原来的值。

但是,出于系统完整性的原因,现有技术中更多的调试器并不允许上述的退回操作,诸如IBM System i系列机器就不允许这种退回操作。其原因在于,允许退回操作意味着允许存在不为编译器所知的控制流,这可能会导致系统完整性问题。因此在这种情况下,用户只能通过重新运行程序来获得再次改变变量的值的机会,以便进入期望的分支。

因此在现有技术中,在任何情况下,当需要强制执行指令时,只能由用户以手动方式来改变变量,并且需要反复进行很多次。而且,在每次重新改变变量时,通常还需要重新运行程序,这是非常令人烦恼的过程。

为此,非常需要一种改进的调试方法和调试器,以使用户从上述反复进行的操作中解脱出来。

发明内容

有鉴于此,本发明提供了一种改进的调试方法和调试器,使得程序强制进入用户期望的分支而无需用户改变变量的值。

在本发明的第一方面中,提供了一种调试方法,包括:在调试过程中接收强制执行分支的用户命令;和响应于所述用户命令,自动地强制执行用户指定的分支。

在本发明的一个实施例中,所述强制执行步骤包括:直接修改控制分支的处理器状态字,以使得自动地强制执行用户指定的分支。

在本发明的另一实施例中,所述强制执行步骤包括:间接修改控制分支的处理器状态字,以使得自动地强制执行用户指定的分支。

在本发明的又一个实施例中,所述间接修改处理器状态字步骤包括:为所述条件语句添加强制分支变量;和修改所述强制分支变量,以便强制进入用户指定的分支。

在本发明的再一个实施例中,所述间接修改处理器状态字步骤包括:在编译过程中,获取与所述条件表达式所涉及的变量以及它们之间的逻辑关系;对所述变量和逻辑关系进行分析,以得到为进入用户指定的分支而修改变量的方案;和根据所述得到的方案修改所述变量,以使得自动地强制执行用户指定的分支。

在本发明的第二方面中,提供了一种调试器,包括:命令接收单元,配置用于在调试过程中接收强制执行分支的用户命令;和强制分支单元,配置用于响应于所述用户命令,自动地强制执行用户指定的分支。

根据本发明的调试方法和调试器,可以自动地强制执行用户期望的指令,而无需用户反复改变变量的值,从而显著地降低了调试的任务量,为用户带来了更好的体验,并且减少了调试时间。

附图说明

通过结合附图对本发明的具体实施例进行详细的描述,本发明的上述以及其他方面和优势将更加明显。

在本发明的附图中,相同的附图标识表示相同或者类似的部件,在附图中:

图1示意性地示出了根据本发明一个实施例的调试方法的流程图;

图2示意性地示出了根据本发明另一实施例的调试方法的流程图;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810091695.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top