计算机程序查错辅助方法及系统的制作方法

文档序号:6649902阅读:245来源:国知局
专利名称:计算机程序查错辅助方法及系统的制作方法
技术领域
本发明是关于一种计算机信息技术,特别是关于一种计算机程序查错辅助方法及系统,应用在计算机平台,当该计算机平台上的一个计算机程序,例如基本输出入系统(Basic Input/Output System,BIOS)程序,发生错码状况未能顺利执行时,对该BIOS程序提供有效率的查错辅助功能,协助程序开发人员更快速地找到该BIOS程序中的错码所在的位置。
背景技术
在计算机程序的开发上,当程序开发人员开发出一个计算机程序(例如BIOS程序)之后,通常需要首先在计算机平台上对该BIOS程序进行测试程序,也就是在该计算机平台上实际执行该BIOS程序,测试该BIOS程序是否可正常运行。若是该BIOS程序无法通过正常运行提供预定的功能、或是在实际执行时导致该计算机平台发生当机状况,程序开发人员便需要对该BIOS程序进行查错工作,找出及更正该BIOS程序中的错码。
断点查错方法是一种常用的BIOS程序查错方法,它是由程序开发人员在BIOS程序指令串中的一个特定位置(也就是程序开发人员认为最可能发生错码处附近),预先经由修改程序设定一断点(breakpoint),使得BIOS程序执行到此断点时即会自动停止,程序开发人员在此时可检查各个缓存器和变量值来逐步找出出错的位置。
然而上述断点查错方法在实际应用上的一项缺点是,程序开发人员须以人工方式在BIOS程序的编译上相关的*.MAP(Link Editor Map)文档中,搜寻BIOS程序中的各个程序模块在实际执行时的内存地址,也就是区段(segment)及起始值(offset),此作业过程颇为繁琐而效率较低。此外,现有的断点查错方法是以整个BIOS程序(即所有程序模块)为范围进行查错,因此作业过程也颇为费时费力而没有效率。
此外,目前业界常用的另一种查错方法是由程序开发人员在BIOS程序因发生错码状况中止执行时,通过计算机主板上一组特定的指示灯,例如BIOS芯片的Port84和Port84相关的指示号,判断错码可能的位置。然而这种查错方法不是很准确,因此程序开发人员无法准确地推测出错码所在的位置。
再者,目前常用的另一种查错方法是由程序开发人员在原始程序代码可能发生错码的前后范围内添加一些测试用的临时指令,由这些测试用的临时指令的执行结果判断错码所在的位置;在最后找到及修正错码之后,再将这些测试用的临时指令删除。这种查错方法需要在事前添加及事后删除这些测试用的临时指令的过程颇为费力费时,因此并非一种快速且有效率的查错方法。

发明内容
为克服上述现有技术的缺点,本发明的主要目的在于提供一种可协助程序开发人员更有效地对发生错码的BIOS程序进行查错工作的计算机程序查错辅助方法及系统。
本发明的计算机程序查错辅助方法及系统是应用在计算机平台,在该计算机平台上的一个计算机程序,例如BIOS程序发生错码状况未能顺利执行时,对该BIOS程序提供一有效的查错辅助功能,协助程序开发人员更为快速地找到该BIOS程序中错码所在的位置。
本发明的计算机程序查错辅助方法至少包括整编该计算机程序在实际执行时包括的所有程序模块;计算出整编成的各个程序模块在实际执行时所在的内存地址;利用一当机点地址作为关键词,检索出该发生错码状况的计算机程序的当机点所相关的程序模块;以及针对该检索出的当机点相关程序模块进行除错工作。
在实体架构上,本发明的计算机程序查错辅助系统至少包括一使用者操控接口模块,可提供一使用者操控接口;一程序整编模块,其可整编该计算机程序于实际执行时所包括的所有的程序模块,并将这些程序模块以一使用者可感知的信息形式通过该使用者操控接口模块而显示于该计算机平台上;一执行地址计算模块,其可计算出该程序整编模块所整编成的各个程序模块于实际执行时所在的内存地址,并将所求得的执行地址数据以一使用者可感知的信息形式通过该使用者操控接口模块而显示于该计算机平台上;一检索模块,其可通过该使用者操控接口模块来提供一使用者操控的检索功能,借以利用一当机点地址来检索出该发生错码状况的计算机程序的当机点所相关的程序模块;以及一除错模块,其可提供一使用者操控的除错功能,借以针对该检索模块所检索出的当机点相关的程序模块来进行除错工作。
本发明的计算机程序查错辅助方法及系统可自动整编发生错码的计算机程序中所有的程序模块,并自动计算出各个程序模块在实际执行时所在的内存地址,程序开发人员可利用发生错码的计算机程序的当机点地址检索出当机点相关的程序模块。本发明让程序开发人员将查错范围缩小到当机点所相关的程序模块,不必如现有作法以整个计算机程序(即所有的程序模块)为范围进行查错,因此可协助程序开发人员更为快速及有效地找到错码所在的位置。


图1是本发明计算机程序查错辅助系统的应用方式及其对象导向组件模型的系统架构示意图;图2是本发明计算机程序查错辅助系统显示的使用者操控接口的示意图。
具体实施例方式
以下配合附图,详细说明本发明计算机程序查错辅助方法及系统。
图1显示本发明的计算机程序查错辅助系统(如标号100所指的方块)的应用方式。如图所示,本发明的计算机程序查错辅助系统100在实际应用是搭配到一计算机平台10,在该计算机平台10上的一个计算机程序,例如BIOS程序,发生错码状况未能顺利执行时,对该具有错码的BIOS程序20提供一查错辅助功能,协助程序开发人员更快速、有效地找到该BIOS程序20中错码所在的位置。
如图1所示,本发明的计算机程序查错辅助系统100的对象导向组件模型(object-oriented component model)至少包括(a)一使用者操控接口模块110;(b)一程序整编模块120;(c)一执行地址计算模块130;(d)一检索模块140;以及(e)一除错模块150。
首先分别说明本发明的计算机程序查错辅助系统100中的各个模块个别属性及功能。
使用者操控接口模块110可提供一如图2所示的使用者操控接口111,并将此使用者操控接口111显示在该计算机平台10的屏幕11上,使用者(即程序开发人员)可通过此使用者操控接口111操控本发明的计算机程序查错辅助系统100(注图2仅以示意方式显示使用者操控接口111的基本方式,在具体实施上,可有许多不同的展现方式,以及可包括许多其它的控制键及选项)。图2所示的使用者操控接口111例如包括一程序模块显示区112、一执行地址显示区113、一检索关键词输入区114和一检索结果显示区115;其中该程序模块显示区112显示该BIOS程序20中所有程序模块的名称;该执行地址显示区113显示该BIOS程序20中各个程序模块在实际执行时的内存地址(以区段及起始值表示);该检索关键词输入区114是让使用者(即程序开发人员)输入该发生错码的BIOS程序20在实际执行时的当机点地址;该检索结果显示区115则显示出检索结果(即检索关键词输入区114接收到的当机点地址相关的程序模块)。
程序整编模块120可自动整编发生错码状况的BIOS程序20在实际执行时所需的所有的程序模块(也就是该BIOS程序20在编译过程产生的所有中间文件),并将其整编成一程序模块集121。在实际操作时,使用者操控接口模块110即可将此程序整编模块120整编成的程序模块集121中所有程序模块的名称显示在图2所示的使用者操控接口111中的程序模块显示区112。
执行地址计算模块130可计算上述程序整编模块120整编成的程序模块集121中各个程序模块在实际执行时所在的内存地址。在此实施例中,所求得的执行地址是以区段(segment)及起始值(offset)表示。在实际操作时,使用者操控接口模块110即可将此执行地址计算模块130求得的执行地址数据,显示在图2所示的使用者操控接口111中的执行地址显示区113。
检索模块140可提供一使用者操控的程序模块检索功能,也就是它可响应一使用者操控事件201输入的当机点地址数据,从上述程序整编模块120整编的程序模块集121中,检索出输入的当机点地址相关的程序模块,并将其检索结果显示在图2所示的使用者操控接口111中的检索结果显示区115。在具体实施上,此当机点地址数据的取得方法例如可采用现有的ITP(In-Target Probe)设备或其它等效的装置。此外,此检索模块140也可进而包括一呼叫来源查询功能,使用者可查询出该当机点相关的程序模块在实际执行时被呼叫来执行时的呼叫来源(即哪一个程序模块呼叫该当机点相关的程序模块)。在具体实施上,此呼叫来源查询功能例如可使用BIOS程序设计上所用的CALL、JSB和ROM Gate协助查询出该当机点相关程序模块的呼叫来源。
除错模块150可提供一使用者操控的除错功能,程序开发人员可仅针对上述检索模块140检索出的程序模块(也就是当机点相关的程序模块)进行除错工作。此除错模块150例如可在该当机点相关程序模块设定一断点或采用任何其它适当方法进行除错工作,得到一除错后的BIOS程序30。
以下以应用实例说明本发明的计算机程序查错辅助系统100应用在计算机程序查错辅助方法的操作步骤。在此应用实例中,假设具有错码的BIOS程序20中包括多个如图2的程序模块显示区112所示的多个程序模块,且其中名称为″CHECK_HEALTH″的程序模块具有错码,使得该BIOS程序20在实际执行时会导致计算机平台10发生当机状况。本发明的计算机程序查错辅助系统100即可协助程序开发人员快速、有效地找出具有错码的程序模块″CHECK_HEALTH″,针对此具有错码的程序模块″CHECK_HEALTH″快速地进行除错工作。
请同时参阅图1和图2,在实际应用时,当具有错码的BIOS程序20的执行导致计算机平台10发生当机状况时,程序开发人员即可启动本发明的计算机程序查错辅助系统100进行一查错程序。
本发明的计算机程序查错辅助方法的操作步骤包括,计算机程序查错辅助系统100会手首先启动使用者操控接口模块110,在计算机平台10的屏幕11上显示出一如图2所示的使用者操控接口111,并同时启动程序整编模块120整编发生错码状况的BIOS程序20在实际执行时包括的所有程序模块(也就是该BIOS程序20在编译过程产生的所有中间文件),并接着令执行地址计算模块130对该程序整编模块120整编成的程序模块集121中所有程序模块执行一执行地址计算程序,计算出各个程序模块在实际执行时所在的内存地址。接着令使用者操控接口模块110将该程序整编模块120整编成的所有程序模块,连同该执行地址计算模块130计算出的执行地址数据,以使用者可感知的信息形式分别显示在使用者操控接口111中的程序模块显示区112和执行地址显示区113,程序开发人员可通过该使用者操控接口模块110浏览该发生错码状况的BIOS程序20中所有程序模块及其执行地址范围。
此时,程序开发人员即可通过使用者操控接口111中的检索关键词输入区114,输入该BIOS程序20的当机点地址数据,例如为[1000:1234],即可令检索模块140从该程序整编模块120整编成的程序模块集121中,检索出该当机点地址相关的程序模块(也就是名称为″CHECK_HEALTH″的程序模块),并将检索结果显示在图2所示的使用者操控接口111中的检索结果显示区115。此外,程序开发人员也可进而使用检索模块140查询出该当机点相关程序模块″CHECK_HEALTH″在实际执行时被呼叫来执行时的呼叫来源(即哪一个程序模块呼叫该当机点相关程序模块),例如使用BIOS程序设计上所用的CALL、JSB和ROM Gate查询出该当机点相关程序模块″CHECK_HEALTH″的呼叫来源。
接着程序开发人员即可启用除错模块150,针对上述检索模块140检索出的程序模块″CHECK_HEALTH″进行除错工作。此除错模块150例如可在该当机点相关程序模块设定一断点或采用任何其它适当的方法进行除错工作,得到一除错后的BIOS程序30。
因此该计算机程序查错辅助方法至少包括首先,整编该计算机程序在实际执行时包括的所有程序模块;随后,计算出整编成的各个程序模块在实际执行时所在的内存地址;接着,利用一当机点地址作为关键词,检索出该发生错码状况的计算机程序的当机点相关的程序模块,最后,针对该检索出的当机点相关程序模块进行除错工作。
总而言之,本发明提供了一种新颖的计算机程序查错辅助方法及系统,可对程序开发人员提供一有效率的计算机程序查错辅助功能;本发明可自动整编发生错码的计算机程序中所有程序模块,并自动计算出各个程序模块在实际执行时所在的内存地址,程序开发人员可利用发生错码的计算机程序的当机点地址,检索出当机点相关的程序模块,本发明可让程序开发人员将查错范围缩小到当机点所相关程序模块,不必如现有作法,需要对整个计算机程序(即所有程序模块)为范围进行查错,因此可协助程序开发人员更为快速、有效地找到错码所在的位置。
权利要求
1.一种计算机程序查错辅助方法,应用在一计算机平台,对一发生错码状况的计算机程序提供查错辅助功能,其特征在于,该计算机程序查错辅助方法至少包括整编该计算机程序在实际执行时包括的所有程序模块;计算出整编成的各个程序模块在实际执行时所在的内存地址;利用一当机点地址作为关键词,检索出该发生错码状况的计算机程序的当机点所相关的程序模块;以及针对该检索出的当机点相关程序模块进行除错工作。
2.如权利要求1所述的计算机程序查错辅助方法,其特征在于,该计算机程序为一BIOS程序。
3.如权利要求1所述的计算机程序查错辅助方法,其特征在于,该计算机程序查错辅助方法进而还包括一呼叫来源查询程序,查询出当机点相关的程序模块实在际执行时被呼叫来执行时的呼叫来源。
4.如权利要求1所述的计算机程序查错辅助方法,其特征在于,该当机点地址的取得方法是采用一ITP设备。
5.一种计算机程序查错辅助系统,可搭配到一计算机平台,对一发生错码状况的计算机程序提供一查错辅助功能,其特征在于,该计算机程序查错辅助系统至少包括一使用者操控接口模块,其可提供一使用者操控接口;一程序整编模块,其可整编该计算机程序于实际执行时所包括的所有的程序模块,并将这些程序模块以一使用者可感知的信息形式通过该使用者操控接口模块而显示于该计算机平台上;一执行地址计算模块,其可计算出该程序整编模块所整编成的各个程序模块于实际执行时所在的内存地址,并将所求得的执行地址数据以一使用者可感知的信息形式通过该使用者操控接口模块而显示于该计算机平台上;一检索模块,其可通过该使用者操控接口模块来提供一使用者操控的检索功能,借以利用一当机点地址来检索出该发生错码状况的计算机程序的当机点所相关的程序模块;以及一除错模块,其可提供一使用者操控的除错功能,借以针对该检索模块所检索出的当机点相关的程序模块来进行除错工作。
6.如权利要求5所述的计算机程序查错辅助系统,其特征在于,该计算机程序为一BIOS程序。
7.如权利要求5所述的计算机程序查错辅助系统,其特征在于,该检索模块进而包括一呼叫来源查询功能,借以查询出当机点相关的程序模块于实际执行时被呼叫来执行时的呼叫来源。
8.如权利要求5所述的计算机程序查错辅助系统,其特征在于,该当机点地址的取得方法是采用一ITP设备。
全文摘要
一种计算机程序查错辅助方法及系统,搭配一计算机平台,对发生错码状况的计算机程序提供一查错辅助功能;该计算机程序查错辅助系统至少包括使用者操控接口模块、程序整编模块、执行地址计算模块、检索模块以及除错模块;本发明的计算机程序查错辅助方法及系统可自动整编发生错码的计算机程序中所有的程序模块,并自动计算出各个程序模块在实际执行时所在的内存地址,程序开发人员可利用发生错码的计算机程序的当机点地址检索出当机点相关的程序模块;本发明让程序开发人员将查错范围缩小到当机点相关程序模块,不必如现有作法以整个计算机程序(即所有的程序模块)为范围进行查错,因此可协助程序开发人员更为快速及有效地找到错码所在的位置。
文档编号G06F11/36GK1952910SQ200510114338
公开日2007年4月25日 申请日期2005年10月20日 优先权日2005年10月20日
发明者卢义村 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1