CN100418067C - 计算机程序查错辅助方法及系统 - Google Patents

计算机程序查错辅助方法及系统 Download PDF

Info

Publication number
CN100418067C
CN100418067C CNB2005101143380A CN200510114338A CN100418067C CN 100418067 C CN100418067 C CN 100418067C CN B2005101143380 A CNB2005101143380 A CN B2005101143380A CN 200510114338 A CN200510114338 A CN 200510114338A CN 100418067 C CN100418067 C CN 100418067C
Authority
CN
China
Prior art keywords
program
module
computer program
error code
debugging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005101143380A
Other languages
English (en)
Other versions
CN1952910A (zh
Inventor
卢义村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CNB2005101143380A priority Critical patent/CN100418067C/zh
Publication of CN1952910A publication Critical patent/CN1952910A/zh
Application granted granted Critical
Publication of CN100418067C publication Critical patent/CN100418067C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种计算机程序查错辅助方法及系统,搭配一计算机平台,对发生错码状况的计算机程序提供一查错辅助功能;该计算机程序查错辅助系统至少包括:使用者操控接口模块、程序整编模块、执行地址计算模块、检索模块以及除错模块;本发明的计算机程序查错辅助方法及系统可自动整编发生错码的计算机程序中所有的程序模块,并自动计算出各个程序模块在实际执行时所在的内存地址,程序开发人员可利用发生错码的计算机程序的当机点地址检索出当机点相关的程序模块;本发明让程序开发人员将查错范围缩小到当机点相关程序模块,不必如现有作法以整个计算机程序(即所有的程序模块)为范围进行查错,因此可协助程序开发人员更为快速及有效地找到错码所在的位置。

Description

计算机程序查错辅助方法及系统
技术领域
本发明是关于一种计算机信息技术,特别是关于一种计算机程序查错辅助方法及系统,应用在计算机平台,当该计算机平台上的一个计算机程序,例如基本输出入系统(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芯片的Port 84和Port 84相关的指示号,判断错码可能的位置。然而这种查错方法不是很准确,因此程序开发人员无法准确地推测出错码所在的位置。
再者,目前常用的另一种查错方法是由程序开发人员在原始程序代码可能发生错码的前后范围内添加一些测试用的临时指令,由这些测试用的临时指令的执行结果判断错码所在的位置;在最后找到及修正错码之后,再将这些测试用的临时指令删除。这种查错方法需要在事前添加及事后删除这些测试用的临时指令的过程颇为费力费时,因此并非一种快速且有效率的查错方法。
发明内容
为克服上述现有技术的缺点,本发明的主要目的在于提供一种可协助程序开发人员更有效地对发生错码的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。在具体实施上,此当机点地址数据的取得方法例如可采用现有的目标探测(In-Target Probe;ITP)设备或其它等效的装置。此外,此检索模块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。
因此该计算机程序查错辅助方法至少包括:首先,整编该计算机程序在实际执行时包括的所有程序模块;随后,计算出整编成的各个程序模块在实际执行时所在的内存地址;接着,利用一当机点地址作为关键词,检索出该发生错码状况的计算机程序的当机点相关的程序模块,最后,针对该检索出的当机点相关程序模块进行除错工作。
总而言之,本发明提供了一种新颖的计算机程序查错辅助方法及系统,可对程序开发人员提供一有效率的计算机程序查错辅助功能;本发明可自动整编发生错码的计算机程序中所有程序模块,并自动计算出各个程序模块在实际执行时所在的内存地址,程序开发人员可利用发生错码的计算机程序的当机点地址,检索出当机点相关的程序模块,本发明可让程序开发人员将查错范围缩小到当机点所相关程序模块,不必如现有作法,需要对整个计算机程序(即所有程序模块)为范围进行查错,因此可协助程序开发人员更为快速、有效地找到错码所在的位置。

Claims (8)

1. 一种计算机程序查错辅助方法,应用在一计算机平台,对一发生错码状况的计算机程序提供查错辅助功能,其特征在于,该计算机程序查错辅助方法至少包括:
整编该计算机程序在实际执行时包括的所有程序模块;
计算出整编成的各个程序模块在实际执行时所在的内存地址;
利用一当机点地址作为关键词,检索出该发生错码状况的计算机程序的当机点所相关的程序模块;以及
针对该检索出的当机点相关程序模块进行除错工作。
2. 如权利要求1所述的计算机程序查错辅助方法,其特征在于,该计算机程序为一BIOS程序。
3. 如权利要求1所述的计算机程序查错辅助方法,其特征在于,该计算机程序查错辅助方法进而还包括:
一调用来源查询步骤,查询出当机点相关的程序模块在实际执行时被调用来执行时的调用来源。
4. 如权利要求1所述的计算机程序查错辅助方法,其特征在于,该当机点地址的取得方法是采用一目标探测设备。
5. 一种计算机程序查错辅助系统,可搭配到一计算机平台,对一发生错码状况的计算机程序提供一查错辅助功能,其特征在于,该计算机程序查错辅助系统至少包括:
一使用者操控接口模块,其可提供一使用者操控接口;
一程序整编模块,其可整编该计算机程序于实际执行时所包括的所有的程序模块,并将这些程序模块以一使用者可感知的信息形式通过该使用者操控接口模块而显示于该计算机平台上;
一执行地址计算模块,其可计算出该程序整编模块所整编成的各个程序模块于实际执行时所在的内存地址,并将所求得的执行地址数据以一使用者可感知的信息形式通过该使用者操控接口模块而显示于该计算机平台上;
一检索模块,其可通过该使用者操控接口模块来提供一使用者操控的检索功能,借以利用一当机点地址来检索出该发生错码状况的计算机程序的当机点所相关的程序模块;以及
一除错模块,其可提供一使用者操控的除错功能,借以针对该检索模块所检索出的当机点相关的程序模块来进行除错工作。
6. 如权利要求5所述的计算机程序查错辅助系统,其特征在于,该计算机程序为一BIOS程序。
7. 如权利要求5所述的计算机程序查错辅助系统,其特征在于,该检索模块进而包括一调用来源查询功能,借以查询出当机点相关的程序模块于实际执行时被调用来执行时的调用来源。
8. 如权利要求5所述的计算机程序查错辅助系统,其特征在于,该当机点地址的取得方法是采用一目标探测设备。
CNB2005101143380A 2005-10-20 2005-10-20 计算机程序查错辅助方法及系统 Expired - Fee Related CN100418067C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101143380A CN100418067C (zh) 2005-10-20 2005-10-20 计算机程序查错辅助方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101143380A CN100418067C (zh) 2005-10-20 2005-10-20 计算机程序查错辅助方法及系统

Publications (2)

Publication Number Publication Date
CN1952910A CN1952910A (zh) 2007-04-25
CN100418067C true CN100418067C (zh) 2008-09-10

Family

ID=38059260

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101143380A Expired - Fee Related CN100418067C (zh) 2005-10-20 2005-10-20 计算机程序查错辅助方法及系统

Country Status (1)

Country Link
CN (1) CN100418067C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826046B (zh) * 2009-03-06 2011-12-14 纬创资通股份有限公司 计算机开机除错方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386522A (en) * 1991-12-30 1995-01-31 International Business Machines, Corp. Dynamic physical address aliasing during program debugging
US6378087B1 (en) * 1999-06-08 2002-04-23 Compaq Computer Corporation System and method for dynamically detecting unchecked error condition values in computer programs
CN1389829A (zh) * 2001-06-05 2003-01-08 因芬尼昂技术股份公司 故障搜索方法和故障搜索设备
CN1632763A (zh) * 2004-12-15 2005-06-29 时仁帅 用于嵌入式模块中汇编程序的自动查错改错方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386522A (en) * 1991-12-30 1995-01-31 International Business Machines, Corp. Dynamic physical address aliasing during program debugging
US6378087B1 (en) * 1999-06-08 2002-04-23 Compaq Computer Corporation System and method for dynamically detecting unchecked error condition values in computer programs
CN1389829A (zh) * 2001-06-05 2003-01-08 因芬尼昂技术股份公司 故障搜索方法和故障搜索设备
CN1632763A (zh) * 2004-12-15 2005-06-29 时仁帅 用于嵌入式模块中汇编程序的自动查错改错方法和系统

Also Published As

Publication number Publication date
CN1952910A (zh) 2007-04-25

Similar Documents

Publication Publication Date Title
US20130014093A1 (en) Code inspection executing system for performing a code inspection of abap source codes
CN104216888A (zh) 数据处理任务关系设置方法及系统
US8719745B2 (en) Method and system for automatically establishing hierarchical parameterized cell (PCELL) debugging environment
US9645911B2 (en) System and method for debugging firmware/software by generating trace data
US7895575B2 (en) Apparatus and method for generating test driver
US20130067440A1 (en) System and method for sql performance assurance services
CN102789416A (zh) 面向bit软件测试的存储器故障注入方法及其模拟器
CN103186461A (zh) 一种现场数据的保存方法和恢复方法以及相关装置
CN102567164A (zh) 用于处理器的指令集批量测试装置与方法
CN104268310A (zh) 使用专用图形界面调用uvm验证环境的方法
CN104156224A (zh) 一种软件构建持续集成方法及系统
CN102234046A (zh) 电梯控制软件现场调试系统
CN111797157B (zh) 一种数据处理方法、系统及电子设备和存储介质
CN106095501A (zh) 一种应用部署方法及装置
CN103064780B (zh) 一种软件测试的方法及装置
CN106681783A (zh) 一种svn代码检测方法及其系统
CN114818565A (zh) 基于python的仿真环境管理平台、方法、设备及介质
CN113515297B (zh) 一种版本更新方法、装置、电子设备及存储介质
CN112131116A (zh) 一种嵌入式软件自动化回归测试方法
CN111679851A (zh) 需求代码管理方法、装置、系统与计算机可读存储介质
CN100418067C (zh) 计算机程序查错辅助方法及系统
US20070168978A1 (en) Computer program code debugging method and system
CN110413515A (zh) 一种bios代码的自动走查方法、系统及代码走查工具
CN102306013A (zh) 基于usb接口的便携式飞机1553b总线监测系统及控制方法
CN115562989A (zh) 一种自动化测试序列转化方法、系统、设备和介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080910

Termination date: 20111020