用于基本输入输出系统之除错讯息输出方法与流程

文档序号:11276194阅读:268来源:国知局
用于基本输入输出系统之除错讯息输出方法与流程

本发明是有关于除错讯息输出方法,特别是指一种用于基本输入输出系统之除错讯息输出方法。



背景技术:

当例如计算机的信息处理系统重置或启动时,安装于计算机内的基本输入输出系统(basicinput/outputsystem,bios)会针对计算机硬件执行多个测试程序,即针对如处理器、主机板、存储器等之计算机硬件进行检查及测试。一般而言,每一测试程序有多个子程序(sub-routine),在该等子程序中的某些个特定子程序中,例如需执行冗长测试步骤的子程序,通常会分别加入一除错讯息(debugmessage)。当bios在执行每一子程序时,只要该子程序具有除错讯息,计算机就会将所执行的子程序的对应除错讯息输出,如此计算机因执行某个特定子程序时发生错误而停止时可由所输出的除错讯息而得知该个特定子程序执行时发生错误,以便后续针对该个特定子程序进行除错。

现有的测试程序中只在某些特定子程序具有除错讯息。然而,当发生错误的子程序并非该等具有除错讯息的特定子程序时,因为没有被加入除错讯息,即便该发生错误的子程序被执行,也不会有除错讯息被输出,导致无法得知是哪个子程序发生错误。为避免这样的情形发生,另一个作法是尽可能的在所有的子程序中都加入除错讯息,但是依据现有的机制,若在全部的子程序都加入除错讯息,则因为每一个子程序只要被执行就会输出除错讯息,造成传输信息大量增加而使传输速度变慢,bios执行测试的速度也相对变慢,甚至会因为大量传输资料而产生错误。

因此,如何改善上述缺点,遂成为本案进一步要探讨的主题。



技术实现要素:

因此,本发明之目的,即在提供一种用于基本输入输出系统之除错讯息输出方法。

于是,本发明用于基本输入输出系统之除错讯息输出方法,通过一计算机装置来实施,该基本输入输出系统包含多个测试程序,每一测试程序包括多个子程序,每一子程序包含一对应的除错指令,每一子程序之该除错指令相关于一具有一唯一代码的除错讯息,该方法包含以下步骤:

在执行到一测试程序中的一子程序时,至少根据一特定判断条件及该子程序所对应的该除错指令所相关的该除错讯息之该代码,判定是否输出该子程序所对应的该除错指令所相关的该除错讯息。

本发明之功效在于:在每一子程序包含一对应的除错指令的环境下,通过该计算机装置,至少根据该特定判断条件及该除错指令所相关的该除错讯息之该代码,判定是否输出该子程序所对应的该除错指令所相关的该除错讯息。因此,在每一子程序包含一对应的除错指令的环境下,能解决因为没有除错讯息而导致无法得知是哪个子程序发生错误的问题。此外,通过有条件的输出除错讯息,能有效地增加bios执行测试的速度。

【附图说明】

图1是一方块图,示例说明一计算机装置,其用来实施本发明实施例之一用于基本输入输出系统之除错讯息输出方法;及

图2是一流程图,示例说明图1之计算机装置如何实施本发明实施例之除错讯息输出方法。

【具体实施方式】

参阅图1,说明了一用来实施本发明实施例的一种用于基本输入输出系统(basicinput/outputsystem,bios)之除错讯息输出方法的计算机装置1。例如,该计算机装置1可包含一储存单元11、一处理单元12及一使用者输入界面14。

该储存单元11储存有该bios,该bios包含多个测试程序,每一测试程序包括多个子程序,每一子程序包含一对应的除错指令,每一子程序之该除错指令相关于一具有一唯一代码的除错讯息,且每一子程序之该除错指令包含一确认码。

该处理单元12电连接该储存单元11及该使用者输入界面14。

参阅图1与图2,示例说明了该计算机装置1如何实施本发明实施例一种用于bios之除错讯息输出方法。在此实施例中,例如,该bios一共有n个子程序,而该处理单元12将依序执行该等测试程序,并在执行每一测试程序期间依序执行该测试程序的该等子程序。值得注意的是,本实施例该除错讯息输出方法,例如在该bios未接收到来自该计算机装置1之作业系统(operatingsystem,os)(未示出)或该使用者输入界面14的任何相关执行请求下,将会依序执行该bios的所有子程序,其中”i”被定义为该处理单元12当前所执行的第i个子程序。

在步骤201中,初始时,该处理单元12执行第1个子程序,也就是i=1。

在步骤202中,该处理单元12判断第i个子程序之该除错指令中所包含的该确认码与一预设码是否匹配。若判断结果为肯定时,亦即二者间存在一匹配时,流程进行步骤203。否则,流程进行步骤205。在本实施例中,该处理单元12亦可将该确认码储存于该储存单元11,例如储存在该储存单元11中的一由互补式金属氧化物半导体(complementarymetal-oxide-semiconductor,cmos)所组成的随机存取存储器(randomaccessmemory,ram)或一暂存器(未示出)。另一方面,该预设码可通过例如一经由外接的目标探针(in-targetprobe,itp)或是扩展除错埠(extendeddebugport,xdp)所连接的除错设备(未示出),在该处理单元12中断子程序之执行或执行完所有子程序后,根据该使用者输入界面14所产生的输入信号来设定该预设码例如为1。然而,在某些实施例中,该预设码亦可被设定为0。

在步骤203中,该处理单元12判断该第i个子程序之该除错指令所相关的该除错讯息之该代码与一特定判断条件所包含的多个不同的条件码间是否存在一匹配。若判断结果为肯定时,流程进行步骤204,否则,流程进行步骤205。

在步骤204中,当该处理单元12判断出该第i个子程序之该除错指令中所包含的该确认码与该预设码匹配,同时亦判断出该第i个子程序之该除错指令所相关的该除错讯息之该代码与该特定判断条件所包含的该等条件码间存在一匹配时,较佳地,该处理单元12不仅将该第i个子程序之该除错指令所相关的该除错讯息输出至例如一外部显示器(未示出),还将该第i个子程序一并输出至该外部显示器,以致该第i个子程序与该除错讯息可一起被显示在该外部显示器以供使用者观看,但不以此为限。值得注意的是,在其他实施例中,该处理单元12可仅将该第i个子程序之该除错指令所相关的该除错讯息输出至一外部的显示器或计算机(未示出)。

跟随在步骤202-204之后的步骤205中,该处理单元12判断该处理单元12该第i个子程序是否为第n个子程序,亦即判断是否i=n。若判断结果为肯定时,流程结束。否则,流程进行步骤206。

在步骤206中,该处理单元12执行第(i+1)个子程序,亦即将i设为i+1。之后,重复步骤202-206直到i=n。

值得注意的是,在本实施例中,图2之步骤203中所提及的该等条件码例如可预先储存在该储存单元11中。然而,在实际使用时,该处理单元12例如可在执行到某个测试程序发生错误而停止处理时,根据该外部显示器所显示之所有除错讯息及子程序并经由该使用者输入界面14之人为输入操作来更新该特定条件。如此,可有效且确实地判定出哪一个子程序发生错误并可减少习知用于输出与显示每一子程序之除错讯息所浪费的资源。

另外,值得注意的是,在其他实施例中,例如图2中的步骤202可被省略,而该处理单元12只须在步骤203中判断出该第i个子程序之该除错指令所相关的该除错讯息之该代码与该特定判断条件所包含的该等条件码间存在一匹配时,就执行步骤204。

此外,值得注意的是,若在执行图2之程序期间,当该处理单元12接收到来自该os或该使用者输入界面14的一相关于特定测试程序或特定子程序之执行请求时,该处理单元12将不再依序执行剩下的子程序。在此情况下,此执行请求被视作一动态或选择性执行请求,并且该处理单元12将优先执行该执行请求所相关的该特定测试程序或该特定子程序。如此,该特定测试程序或该特定子程序有可能是之前已执行过的测试程序或子程序,并且该处理单元12回应于该执行请求,将会再一次执行该执行过的特定测试程序或特定子程序,但不以此为限。

综上所述,在每一子程序包含一对应的除错指令的环境下,通过该处理单元12,该计算机装置1之该处理单元12根据该特定条件及该除错指令所相关的该除错讯息之该代码,及该除错指令所包含的该确认码及该预设码,判定是否输出该除错指令所相关的该除错讯息。因此,在每一子程序包含一对应的除错指令的环境下,本发明之除错讯息输出方法能解决因为没有输出除错讯息而导致无法得知是哪个子程序发生错误的问题。此外,通过有条件的输出除错讯息,能有效地增加bios执行测试的速度。

上面结合附图对本发明的具体实施方式和实施例做了详细说明,但不能以之限定本发明的范围,在本发明申请专利范围内所作的均等修饰和变化,皆应该属于本发明专利范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1