分析程序错误的方法及其判读数据的制作方法技术

技术编号:4248391 阅读:231 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种分析程序错误的方法,用于分析一BIOS程序代码中的一USB程序,此USB程序中具有分别代表不同处理程序的多个子程序,且各子程序由多个USB原始码所组成,其方法在USB程序的子程序中设置有多个输出指令;并于执行此USB程序后,此USB程序在执行其中之子程序时,依据执行子程序中的输出指令的顺序,依序地产生一辨识值;再依据这些辨识值,而提供一可供辨识处理程序实际被执行的顺序及其USB原始码是否错误的判读数据,以便操作人员判定,其中判读数据的制作方法也公开于本发明专利技术中。

【技术实现步骤摘要】

本专利技术涉及一种分析程序错误的方法,尤其涉及一种分析USB程序错误, 并分析出USB程序中各处理程序实际被执行顺序的方法。
技术介绍
目前公知用来测试通用序列汇排流(Universal Serial Bus,以下均称 USB)原始码的除错工具能够分析由USB端口所传送及接收的USB封包,但无 法得知USB的原始码是如何被执行的,例如测试人员在USB装置上观察到不正 常现象后,首先读取USB封包并分析此USB封包是否正常,如果此USB封包正 常,则仅能针对USB装置上所观察到的不正常现象来猜测USB原始码的错误点; 如果此USB封包不正常,则对于USB装置上所观察到的不正常现象及USB封包 来猜测USB原始码的错误点,并使用硬件仿真器(In Circuit Emulator, ICE) 找寻及验证USB原始码的错误点。由于USB程序的USB原始码在执行时具有时序性(temporality),使得停 止CPU后USB原始码仍然继续动作,而触发产生USB程序相关计时程序 (Timeout)的事件,无法得知USB原始码执行的前后相关顺序,难以修正错误 的USB程序,只能以猜测的方式去推论错误的原因。如此一来,测试人员便得 花费许多找寻及验证的时间于猜测USB原始码的错误点上,而且即便碰巧找到 USB原始码的错误点,仍无法得知USB程序与时间之间的相依性。
技术实现思路
本专利技术的目的在于提供一种分析程序错误的方法,以便于一 USB程序中得 知其各USB程序于执行时的前后相关顺序,并由此前后相关顺序中提供查出不 正确程序代码的数据。为了实现上述目的,本专利技术提供了一种分析程序错误的方法,用于分析一 BIOS程序代码中的一 USB程序,此USB程序中具有多个子程序,而各子程序分别代表一处理程序,且由多个USB原始码所组成,其方法于USB程序的子程 序中设置有多个输出指令;此USB程序在执行其中的子程序时,依据执行子程 序中的输出指令的顺序,依序地产生一辨识值;依据这些辨识值,而提供一判 读数据,以供使用者辨识该处理程序实际上被执行的先后顺序,及分析该子程 序的该USB原始码是否错误。本专利技术的另一态样是提供一种判读数据的制作方法,应用于一种分析程序 错误的方法所依序产生的多个辨识值中,并搭配一对照表,对照表至少包括多 个处理程序名称、对应其处理程序名称的代表符号、对应其处理程序的位阶值 及对应其处理程序的确认符号,此方法包括依据此些辨识值的先后顺序,读取 一笔辨识值;对比辨识值及对照表得此些代表符号,判断是否符合其中一代表 符号;当辨识值符合其中一代表符号时,则读取下一笔辨识值;并于对比下一 笔辨识值及该对照表的该确认符号,而判断下一笔辨识值符合其中一确认符号 后,依据对照表所对应的位阶值,输出一子判读数据,子判读数据具有处理程 序的名称、位阶值及辨识值序号,再次进行依据此些辨识值的先后顺序读取一 笔辨识值的后续步骤,直到此些辨识值被读取完毕为止。如此,测试者便可由判读数据上得知处理程序的名称,并依据每一处理程 序的位阶值,辨识此些处理程序实际上被执行的先后顺序是否正确,若不正确, 测试者便可针对此些有误的处理程序,对子程序的USB原始码进行分析其错误 的部份,所以,便可縮小检测USB原始码错误的范围,并对错误的部份进行修 改。以下结合附图和具体实施例对本专利技术进行详细描述,但不作为对本专利技术的 限定。附图说明图1为一种计算机装置的电子方块图2为本专利技术分析程序错误的方法的实施例流程图3为本专利技术的实施例的对照表的示意图4A为本专利技术的实施例的一种检查点及输出指令的位置设置示意图; 图4B为本专利技术的实施例的另一种检查点及输出指令的设置示意图; 图5为本专利技术的实施例的该辨识值的排列示意图-,图6为本专利技术实施例中制作执行顺序阶层表的细部流程图; 图7为本专利技术中的判读数据的示意图。 其中,附图标记1计算机装置2中央处理单元3 USB控制器 4外接USB装置5 BIOS程序代码6 USB程序 10子程序 103第一输出指令 104第二输出指令 105第三输出指令 106第四输出指令 107第五输出指令 12 USB原始码 13第一检査点 14第二检査点 15第三检查点 16第四检查点具体实施例方式请参考图1,任何可接受外接USB装置4的一计算机装置1中,均具有一 USB控制器3 (USB controller host),以作为计算机装置的中央处理单元2 (CPU)与外接USB装置4的对话窗口,而计算机装置1中的基本输入/输出系 统(Basic 1叩ut/0utput System, BIOS)程序代码5中的一 USB程序6 (通常 为ASM汇编语言)具有多组子程序10,分别代表不同的处理程序,各组子程 序10由多个USB原始码12所组成。由于每一处理程序具有时序性 (temporality),使得代表每一处理程序的子程序10于执行时会搭配时间的变 化,而进行不同阶段的处理程序,不会因为中途被中断时,而呈现出各相关处17第五检査点 20对照表 21处理程序字段 211处理程序 22代表符号字段 221代表符号 23处理位阶字段 231位阶值 24确认字段 241确认符号 25辨识值 30判读数据 31子判读数据 311辨识值序号 步骤101-106 步骤1061-1064理程序之间的流程顺序及时间的相依性,反而在中央处理单元2停止执行子程序10后,其USB原始码12仍然继续被USB控制器3所执行,而破坏其中设计 好的相关计时程序(Timeout)事件,因此,当测试人员在外接USB装置4上观 察到不正常现象时,在传统方式上是不易査出这些子程序10中的USB原始码 12错误的原因。因此,本专利技术公开一种,此 些方法为相关连地,其中判读数据的制作方法由说明分析程序错误的方法中所 产生判读数据的方法。首先,此分析程序错误的方法用于分析一 BIOS程序代码5中的一 USB程 序6,借助USB程序6中代表不同处理程序的USB原始码12于执行时,依序 输出另外设计的辨识值,来提供制作一判读数据30,借助此判读数据30中得 知此USB程序中实际处理程序的执行顺序及情形,而使得测试人员判定相关处 理程序的错误流程后,而缩小检测USB原始码12发生错误的范围。而本专利技术 在一实施例中依据图2的步骤执行,图2为本专利技术分析程序错误的方法的实施 例流程图步骤(101)提供一USB程序6:首先取得待测试的一 USB程序6,此USB程序6中所述的不同处理程序分 别用以执行有关此计算机装置1、 USB控制器3与外接USB装置4间的数据交 换处理的动作,例如检查外接USB装置4是否存在、寻找数据相关地址、计 算参数值等等,均需子程序10中不同USB原始码12所代表的指令来达成,而 各子程序10的USB原始码12可区分有算术式指令(Arithmetic Instructions)、逻辑式指令(Logic Instructions)、数据转移式指令(Data Transfer Instructions)、 布尔表达式指令 (Boolean and Comparison Instructions)及程序跳跃式指令(Jump Instructions)等种类,这些子程 序本文档来自技高网...

【技术保护点】
一种分析程序错误的方法,用于分析一BIOS程序代码中的USB程序,其特征在于,该方法包括: (a)提供一USB程序,该USB程序具有数个子程序,每一该子程序分别代表一处理程序,且由数个USB原始码所组成; (b)设置数个输出指令 于该子程序中; (c)当该USB程序其中的该子程序被执行时,依据该子程序中每一该输出指令被执行的顺序,而依序产生一辨识值至一特定位置;以及 (d)依据该特定位置的该辨识值,提供一可供辨识处理程序实际被执行的顺序及其USB原始码是 否错误的判读数据。

【技术特征摘要】
1、一种分析程序错误的方法,用于分析一BIOS程序代码中的USB程序,其特征在于,该方法包括(a)提供一USB程序,该USB程序具有数个子程序,每一该子程序分别代表一处理程序,且由数个USB原始码所组成;(b)设置数个输出指令于该子程序中;(c)当该USB程序其中的该子程序被执行时,依据该子程序中每一该输出指令被执行的顺序,而依序产生一辨识值至一特定位置;以及(d)依据该特定位置的该辨识值,提供一可供辨识处理程序实际被执行的顺序及其USB原始码是否错误的判读数据。2、 根据权利要求1所述的方法,其特征在于,步骤(a)中,每一该子程 序分别具有数个检査点,而每一该检査点均用以放置其中一输出指令。3、 根据权利要求2所述的方法,其特征在于,步骤(b)中,依据一对照 表中的数个代表符号及数个确认符号,设置该输出指令,其中该对照表至少包 括一处理程序字段,可供放置对应的处理程序名称; 一代表符号字段,可供放 置对应处理程序名称的代表符号; 一处理位阶字段,可供放置对应处理程序名 称的位阶值,该位阶值代表该处理程序执行顺序的位阶;以及一确认字段,可 供放置用以检査该处理程序的确认符号,该确认符号可供确认该处理程序以确 实执行完毕。4、 根据权利要求3所述的方法,其特征在于,该子程序在每一该子程序 的首位USB原始码前定义有一第一检查点,并于该第一检査点设置一第一输出 指令,该第一输出指令要求输出对应其处理程序的一代表符号;以及在每一该子程序的末位USB原始码后定义有一第二检查点,并于该第二检 查点设置一第二输出指令,该第二输出指令要求输出对应其处理程序的一确认 符号。5、 根据权利要求4所述的方法,其特征在于,该子程序在每一该子程序 开始进行一条件判断动作的一 USB原始码前定义一第三检査点,并在该第三检 查点上设置一第三输出指令,该第三输出指令要求输出对应其处理程序的一代 表符号;在每一该子程序完成该条件判断动作后,且代表条件成立的首位USB原始 码后分别定义一第四检查点,并于该第四检査点上设置一第四输出指令,该第四输出指令分别要求输出对应其处理程序的一确认符号;以及在每一该子程序完成该条件判断动作后,且代表条件不成立的首位USB 原始码后分别定义一第五检查点,并于该第五检査点上设置一第五输出指令, 该第五输出指令分别要求输出对应其...

【专利技术属性】
技术研发人员:邱焕文颜琦璋
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1