一种软件调试方法及装置制造方法

文档序号:6621106阅读:404来源:国知局
一种软件调试方法及装置制造方法
【专利摘要】本申请公开了一种软件调试方法及装置,所述方法包括:接收触发事件,判断所述触发事件的类型,查询所述触发事件对应的操作对象,在当前的系统视图窗口中标记出所述操作对象;按照所述触发事件的类型执行该触发事件对应的业务逻辑。本发明通过在系统视图窗口中标记出触发事件对应的操作对象,能够让程序员可视化的看到当前触发的操作对象,这样程序员就能快速定位引起问题的原因,从而找到bug的具体位置,提高了软件调试的效率,避免了由程序员根据经验定位bug造成的时间消耗。
【专利说明】一种软件调试方法及装置

【技术领域】
[0001]本发明涉及信息【技术领域】,尤其涉及一种软件调试方法及装置。

【背景技术】
[0002]近年来随着移动互联网的发展与成熟,全面的信息化时代已经到来,移动终端已逐渐占领手机市场。各种基于10S平台、Android (安卓)平台的应用(App)大量出现。如何能够快速、高效的开发出所需的APP以便抢先占领空白市场是研发人员面临的一个挑战。
[0003]在程序开发的整个过程中,程序调试占据了程序员的大部分开发时间,如果能够提高程序员调试的效率将会大大缩短程序的开发时间,从而加快推出产品的时间。在现代基于面向对象编程的程序调试过程中,调试包括寻找bug (漏洞)和修正bug,程序调试的顺序是通过重复的试验收集测试数据,然后根据收集的数据来构造一个假设,假设引起程序bug的原因,最后设计一个实验来证实假设,可见,在程序调试中找到程序bug就是关键点。
[0004]目前,寻找bug并理解bug通常占到整个调试工作的80%到90%,所以调试中快速定位bug,将会极大提高程序员的工作效率,而目前程序员只能通过经验定位bug,对于经验丰富的高级程序员还能够比较快速的定位bug,而对于经验缺乏的初级程序员往往只能通过猜测,然后通过实验的方式全局式寻找bug,将会消耗大量的时间。


【发明内容】

[0005]本发明要解决的技术问题是提供一种软件调试方法及装置,能够在软件调试过程中快速定位漏洞,避免了人工定位造成的大量时间消耗。
[0006]为解决上述技术问题,本申请的一种软件调试方法,包括:
[0007]接收触发事件,判断所述触发事件的类型,查询所述触发事件对应的操作对象,在当前的系统视图窗口中标记出所述操作对象;
[0008]按照所述触发事件的类型执行该触发事件对应的业务逻辑。
[0009]进一步地,所述方法还包括:
[0010]在当前的系统视图窗口中标记出所述操作对象时,还在所述系统视图窗口中显示所述操作对象对应的类的类信息。
[0011]进一步地,所述在当前的系统视图窗口中标记出所述操作对象,包括:
[0012]创建边框对象,按照所述操作对象的尺寸设置所述边框对象的轮廓,将所述边框对象添加到所述操作对象上。
[0013]进一步地,所述在所述系统视图窗口中显示所述操作对象对应的类的类信息,包括:
[0014]在所述系统视图窗口中显示类信息显示标签,获取所述类信息,将所述类信息放到所述类信息显示标签上;
[0015]获取类信息的长度,按照类信息的长度设置类信息显示标签的边框。
[0016]进一步地,所述方法还包括:
[0017]在按照类信息的长度设置类信息显示标签的边框后,将所述类信息显示标签的中心位置设置为所述边框对象的中心位置。
[0018]进一步地,一种软件调试装置,包括:接收单元、判断单元、查询单元、标记单元和业务逻辑单元,其中:
[0019]所述接收单元,用于接收触发事件;
[0020]所述判断单元,用于判断所述接收单元接收到的触发事件的类型;
[0021]所述查询单元,用于查询所述触发事件对应的操作对象;
[0022]所述标记单元,用于在当前的系统视图窗口中标记出所述操作对象;
[0023]所述业务逻辑单元,用于按照所述触发事件的类型执行该触发事件对应的业务逻辑。
[0024]进一步地,所述装置还包括类显示单元,其中:
[0025]所述类显示单元,用于在所述标记单元在当前的系统视图窗口中标记出所述操作对象时,在所述系统视图窗口中显示所述操作对象对应的类的类信息。
[0026]进一步地,所述标记单元在当前的系统视图窗口中标记出所述操作对象,包括:创建边框对象,按照所述操作对象的尺寸设置所述边框对象的轮廓,将所述边框对象添加到所述操作对象上。
[0027]进一步地,所述类显示单元在所述系统视图窗口中显示所述操作对象对应的类的类信息,包括:在所述系统视图窗口中显示类信息显示标签,获取所述类信息,将所述类信息放到所述类信息显示标签上;获取类信息的长度,按照类信息的长度设置类信息显示标签的边框。
[0028]进一步地,所述类显示单元,还用于在按照类信息的长度设置类信息显示标签的边框后,将所述类信息显示标签的中心位置设置为所述边框对象的中心位置。
[0029]综上所述,本发明通过在系统视图窗口中标记出触发事件对应的操作对象,能够让程序员可视化的看到当前触发的操作对象,这样程序员就能快速定位引起问题的原因,从而找到bug的具体位置,提高了软件调试的效率,避免了由程序员根据经验定位bug造成的时间消耗。

【专利附图】

【附图说明】
[0030]图1为本申请的软件调试方法的流程图;
[0031]图2为本申请实施例的在1S中实现软件调试方法的流程图;
[0032]图3为本申请的软件调试装置的架构图。

【具体实施方式】
[0033]本申请通过在系统视图窗口中标记出触发事件对应的操作对象,并且可以进一步显示操作对象对应的类的类信息,然后执行触发事件对应的业务逻辑。当程序员在系统视图窗口中进行操作时,提示了触发的操作对象和相应的类的类信息,并且不影响业务逻辑的执行,达到了快速定位bug的效果。
[0034]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0035]如图1所示,本申请的软件调试方法,包括:
[0036]步骤101:接收触发事件,判断触发事件的类型,查询触发事件对应的操作对象;
[0037]当程序员在系统视图窗口上进行操作后,移动终端平台接收触发事件。程序员进行的操作可以是触碰、摇晃和旋转等任何操作。
[0038]不同的操作对应不同的操作对象,例如,对于触碰操作,操作对象为触碰的控件;对于摇晃操作,操作对象为摇晃对应的控件;对于旋转操作,操作对象为旋转操作对应的控件等。
[0039]步骤102:在查询出接收到的触发事件对应的操作对象后,在当前的系统视图窗口中标记出操作对象;
[0040]本申请中,可以采用为操作对象加边框的方式标记出操作对象,在当前的系统视图窗口中标记出触发事件对应的操作对象,包括:创建边框对象,按照操作对象的尺寸设置边框对象的轮廓,将边框对象添加到操作对象上。
[0041]本申请中通过给操作对象加边框的方式标记出接收到的触发事件对应的操作对象。为操作对象所加的边框还可以设置颜色,如采用红色边框,提高标记的显著性。
[0042]步骤103:在标记出操作对象后,按照触发事件的类型执行该触发事件对应的业务逻辑。
[0043]在目前的调试方法中,程序员在系统视图窗口上进行操作后,移动终端会按照触发事件的类型执行对应的业务逻辑,本申请改变了系统行为,首先在当前的系统视图窗口中标记出操作对象,然后再去执行原来的业务逻辑,通过这种所见即所得的调试方法,使程序员能够直观的看到当前触发的操作对象,提高了程序员分析bug、定位bug的效率。
[0044]本申请中,在步骤102中在当前的系统视图窗口中标记出操作对象时,还可以在系统视图窗口中显示操作对象对应的类的类信息。在标记操作对象的基础上进一步显示操作对象对应的类的类信息可以进一步缩小bug定位的范围,使程序员更加容易的定位到
bugo
[0045]在系统视图窗口中显示操作对象对应的类的类信息,包括:在系统视图窗口中显示类信息显示标签,获取类信息,将类信息放到类信息显示标签上;获取类信息的长度,按照类信息的长度设置类信息显示标签的边框。
[0046]此外,在按照类信息的长度设置类信息显示标签的边框后,还可以将类信息显示标签的中心位置设置为边框对象的中心位置。将类信息显示标签的中心位置与边框对象的中心位置设置为相同,可以增强显示效果,便于程序员进行快速查看。
[0047]下面以在运行1S平台的移动终端上进行软件调试为例,对本申请的调试方法进行说明,其中,以程序员的触碰操作为例,操作对象为触碰的控件。
[0048]由于1S平台基于消息转发机制,为了在运行1S平台的移动终端上实现本申请的调试方法,需要预先在系统级别修改总的事件入口,在1S平台中,当接收到触发事件后,调用sendEvent:方法,本实施例中修改sendEvent:方法所指向的方法体,在新的方法体中执行本申请的在当前的系统视图窗口中标记出操作对象,以及进一步显示对应的类的类信息等,之后将触发事件传到sendEvent:方法原来的方法体中,具体的业务逻辑使用原来的方法体。针对触碰操作,当程序员点击1S界面时,通过sendEvent:方法新的方法体实现标记出触碰对象以及进一步显示对应的类的类信息,然后将触碰事件传到sendEvent:方法原来的方法体中,使用触碰事件原来的业务逻辑进行业务处理。
[0049]如图2所示,在运行1S平台的移动终端上,操作类型为触碰操作时,本申请的软件调试方法,包括:
[0050]步骤201:移动终端接收触发事件,判断出接收到的触发事件的类型为触碰事件,查询出触碰事件对应的触碰对象;
[0051 ] 本实施例中,查询触碰事件对应的触碰对象的步骤可以包括:
[0052](1)取出触碰事件对应的所有触碰对象,如使用指令event allTouches取出所有触碰对象;
[0053](2)判断触碰对象的数量,如果触碰对象为一个,则执行下一步;如果触碰对象为多个,则结束;
[0054](3)取出第一个触碰对象,如使用指令[allTouches allObjects]objectAtIndex:0耳又出第一个触碰对象。
[0055]步骤202:判断对触碰对象是不是触碰了一次,如果是,则执行步骤203 ;否则,结束;
[0056]步骤203:判断是不是触碰事件的开始点,如果是,则执行步骤204 ;否则,结束;
[0057]事件包括开始、处理中、结束和取消等一系列过程,整个事件有多个时机点。本实施例中,选择开始作为时机点执行下一步。
[0058]步骤204:在当如的系统视图窗口中标记出触碰对象;
[0059]步骤205:在系统视图窗口中显示类信息显示标签,获取触碰对象对应的类的类信息,将类信息放到类信息显示标签上;
[0060]本实施例中,类信息可以是类的名称等。
[0061]步骤206:获取类信息的长度,按照类信息的长度设置类信息显示标签的边框;
[0062]本实施例中,在通过边框对象标记触碰对象时,还可以将类信息显示标签的中心位置设置为边框对象的中心位置,以便于程序员查看相关内容。
[0063]步骤207:执行触碰事件对应的业务逻辑。
[0064]本实施例中,在系统视图窗口中,在程序员触碰的位置上还可以显示提示圈,以增加显示效果。提示圈是在触碰位置显示的圆环形效果,显示提示圈的步骤包括:
[0065](a)为触碰对象创建提示圈,设置提示圈的轮廓;
[0066](b)在当前的系统视图窗口中设置提示圈的中心位置;
[0067](c)将提示圈加到当前的系统视图窗口上开始显示提示圈。
[0068]以上是以在运行1S平台的移动终端上,触发事件为触碰事件为例对本申请的方法进行的说明,但是,本申请的方法并不限于1S平台以及触碰事件,还可以应用于各种平台包括但不限于Android、WindowsPhone等,触发事件也可以是摇晃事件、旋转事件等多种事件。
[0069]如图3所示,本申请还提供了一种软件调试装置,包括:接收单元、判断单元、查询单元、标记单元和业务逻辑单元,其中:
[0070]接收单元,用于接收触发事件;
[0071]判断单元,用于判断接收单元接收到的触发事件的类型;
[0072]查询单元,用于查询触发事件对应的操作对象;
[0073]标记单元,用于在当前的系统视图窗口中标记出操作对象;
[0074]业务逻辑单元,用于按照触发事件的类型执行该触发事件对应的业务逻辑。
[0075]本申请的软件调试装置还包括类显示单元,其中:
[0076]类显示单元,用于在标记单元在当前的系统视图窗口中标记出操作对象时,在系统视图窗口中显示操作对象对应的类的类信息。
[0077]标记单元在当前的系统视图窗口中标记出操作对象,包括:创建边框对象,按照操作对象的尺寸设置边框对象的轮廓,将边框对象添加到操作对象上。
[0078]类显示单元在系统视图窗口中显示操作对象对应的类的类信息,包括:在系统视图窗口中显示类信息显示标签,获取类信息,将类信息放到类信息显示标签上;获取类信息的长度,按照类信息的长度设置类信息显示标签的边框。
[0079]类显示单元,还用于在按照类信息的长度设置类信息显示标签的边框后,将类信息显示标签的中心位置设置为边框对象的中心位置。
[0080]本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0081]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0082]尽管上文对本发明进行了详细说明,但是本发明不限于此,本【技术领域】技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
【权利要求】
1.一种软件调试方法,其特征在于,包括: 接收触发事件,判断所述触发事件的类型,查询所述触发事件对应的操作对象,在当前的系统视图窗口中标记出所述操作对象; 按照所述触发事件的类型执行该触发事件对应的业务逻辑。
2.如权利要求1所述的方法,其特征在于,所述方法还包括: 在当前的系统视图窗口中标记出所述操作对象时,还在所述系统视图窗口中显示所述操作对象对应的类的类信息。
3.如权利要求1或2所述的方法,其特征在于,所述在当前的系统视图窗口中标记出所述操作对象,包括: 创建边框对象,按照所述操作对象的尺寸设置所述边框对象的轮廓,将所述边框对象添加到所述操作对象上。
4.如权利要求3所述的方法,其特征在于,所述在所述系统视图窗口中显示所述操作对象对应的类的类信息,包括: 在所述系统视图窗口中显示类信息显示标签,获取所述类信息,将所述类信息放到所述类信息显示标签上; 获取类信息的长度,按照类信息的长度设置类信息显示标签的边框。
5.如权利要求4所述的方法,其特征在于,所述方法还包括: 在按照类信息的长度设置类信息显示标签的边框后,将所述类信息显示标签的中心位置设置为所述边框对象的中心位置。
6.一种软件调试装置,其特征在于,包括:接收单元、判断单元、查询单元、标记单元和业务逻辑单元,其中: 所述接收单元,用于接收触发事件; 所述判断单元,用于判断所述接收单元接收到的触发事件的类型; 所述查询单元,用于查询所述触发事件对应的操作对象; 所述标记单元,用于在当前的系统视图窗口中标记出所述操作对象; 所述业务逻辑单元,用于按照所述触发事件的类型执行该触发事件对应的业务逻辑。
7.如权利要求6所述的装置,其特征在于,所述装置还包括类显示单元,其中: 所述类显示单元,用于在所述标记单元在当前的系统视图窗口中标记出所述操作对象时,在所述系统视图窗口中显示所述操作对象对应的类的类信息。
8.如权利要求6或7所述的装置,其特征在于: 所述标记单元在当前的系统视图窗口中标记出所述操作对象,包括:创建边框对象,按照所述操作对象的尺寸设置所述边框对象的轮廓,将所述边框对象添加到所述操作对象上。
9.如权利要求8所述的装置,其特征在于: 所述类显示单元在所述系统视图窗口中显示所述操作对象对应的类的类信息,包括:在所述系统视图窗口中显示类信息显示标签,获取所述类信息,将所述类信息放到所述类信息显示标签上;获取类信息的长度,按照类信息的长度设置类信息显示标签的边框。
10.如权利要求9所述的装置,其特征在于: 所述类显示单元,还用于在按照类信息的长度设置类信息显示标签的边框后,将所述 类信息显示标签的中心位置设置为所述边框对象的中心位置。
【文档编号】G06F11/36GK104391783SQ201410353773
【公开日】2015年3月4日 申请日期:2014年7月24日 优先权日:2014年7月24日
【发明者】于先刚, 彭佳琦, 张子阳 申请人:贵阳朗玛信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1