[发明专利]连续捕获程序异常的处理器异常测试方法在审
申请号: | 201510830343.5 | 申请日: | 2015-11-24 |
公开(公告)号: | CN105487973A | 公开(公告)日: | 2016-04-13 |
发明(设计)人: | 谭坚;漆锋滨;李岱峰;王丽一;李亚辉;吴臻;蒋丽萍 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/30 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 龚燮英 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 连续 捕获 程序 异常 处理器 测试 方法 | ||
技术领域
本发明涉及计算机技术领域,具体涉及一种连续捕获程序异常的 处理器异常测试方法。
背景技术
目前国内外公开的针对处理器异常的测试方法,大都是基于软件 层面的,而Intel、IBM等各大处理器厂商基本没有公开发布针对该 项内容专门进行测试与验证的相关方法。针对异常捕获以及校验的工 作,大多是在操作系统级或者在各类编程开发工具内部实现的,其实 现方式有一个共性的特点就是,在捕获到异常之后,由操作系统向用 户报告异常、忽略异常、或者按照程序预设的异常处理方式进行处理 之后,终止程序执行。C++与JAVA均等面向对象语言还提供捕获多 个用户异常支持,但是异常发生时,用户程序一般会终止执行。
现有技术的这种异常处理机制与方法,很少提及对异常处理机制 本身的正确性进行相关校验。而且前述异常处理并没有针对处理器指 令一级异常进行覆盖,更加达不到处理器异常测试覆盖率的需求,这 不满足处理器正确性验证与测试中异常测试的要求;同时通常情形 下,异常发生时存在用户程序终止的现象,导致异常测试的校验和异 常测试程序的管理工作不易开展。
发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提 供一种连续捕获程序异常的处理器异常测试方法,其基于异常功能点 覆盖率的,能够对用户程序中连续多个异常的捕获与校验,能够进行 批量异常测试、验证与管理。而且该方法是在用户层一级实现的,考 虑了处理器指令集异常点的全覆盖。
根据本发明,提供了一种连续捕获程序异常的处理器异常测试方 法,包括:确定并初始化需要进行校验的异常类型以及捕获到的结果 异常类型;根据需要进行校验的异常类型以及捕获到的结果异常类 型,设定用户层需要获取的异常类型;根据设定的异常类型的处置方 式,设置异常发生时结果校验变量的异常类型值;按照遍历所有指令 分类以及每类指令所包含的异常类型值的方式,编写涵盖所有指令类 型的异常测试用例的集合;将所述集合中的异常测试用例以函数的形 式进行组织,以形成异常函数列表;针对异常函数列表中的每个函数, 对函数进行调用并进行异常的捕获及处理以获取异常类型结果值;根 据异常函数列表对应的异常类型校验值、以及异常运行过程中获取的 异常类型结果值,将两者进行比较以检验处理器异常处理结果。
优选地,所述的连续捕获程序异常的处理器异常测试方法还包 括:细化浮点异常分类,在浮点异常发生时获取浮点寄存器的部分异 常标志位值,提取浮点异常详细信息,设置浮点异常结果校验的异常 类型值。
优选地,在所述对函数进行调用并进行异常的捕获及处理以获取 异常类型结果值的步骤中,利用vfork函数,将目标函数以vfork子 进程的方式进行调用与运行,在子进程发生异常进入用户异常处理程 序时,再由父进程向子进程发送SIGKILL,从而回到异常测试框架控 制程序。
优选地,如果异常类型校验值与异常类型结果值一致,则判定处 理器异常处理结果没有错误。
附图说明
结合附图,并通过参考下面的详细描述,将会更容易地对本发明 有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
图1示意性地示出了根据本发明优选实施例的连续捕获程序异 常的处理器异常测试方法的流程图。
需要说明的是,附图用于说明本发明,而非限制本发明。注意, 表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似 的元件标有相同或者类似的标号。
具体实施方式
为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附 图对本发明的内容进行详细描述。
本发明提供一种基于用户层的能够连续捕获程序异常的处理器 异常测试方法和框架,可用于连续捕获单个用户程序运行过程中报出 的多个异常,还可以用于制造指定异常并验证处理器异常处理机制正 确性,对于验证处理器功能正确性起到重要的辅助补充作用。
如图1所示,本发明实施例中描述的一种基于用户层的能够连续 捕获程序异常的处理器异常测试方法包括:
第一步骤S1:确定并初始化需要进行校验的异常类型以及捕获 到的结果异常类型;
第二步骤S2:利用信号以及信号处理机制,根据需要进行校验 的异常类型以及捕获到的结果异常类型,设定用户层需要获取的异常 类型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510830343.5/2.html,转载请声明来源钻瓜专利网。