一种软件错误码的传递方法、装置及系统.pdf

上传人:00****42 文档编号:1031461 上传时间:2018-03-27 格式:PDF 页数:9 大小:369.03KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010528930.6

申请日:

2010.10.29

公开号:

CN101980176A

公开日:

2011.02.23

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 11/36申请公布日:20110223|||实质审查的生效IPC(主分类):G06F 11/36申请日:20101029|||公开

IPC分类号:

G06F11/36

主分类号:

G06F11/36

申请人:

华为数字技术有限公司

发明人:

李波

地址:

100085 北京市海淀区上地信息路3号

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明实施例提供了软件错误码的传递方法,该方法包括:接收下层模块发来的错误码A,错误码A是当下层模块有故障分支时生成的;将自身生成的错误码B和所接收到的错误码A合成错误码AB,将错误码AB传递给上层模块。此外,本发明实施例还提供了相应的软件错误码的传递装置和系统。通过本发明实施例提出的软件错误码的传递方法、装置和系统,错误码在传递的过程中携带各层模块的故障分支信息,这样,根据错误码就可以确定错误码的传递路径,以便精确的定位故障错误原因,提高可维护性。

权利要求书

1: 一种软件错误码的传递方法, 其特征在于, 包括 : 接收下层模块发来的错误码 A, 错误码 A 是当下层模块有故障分支时生成的 ; 将自身生成的错误码 B 和所接收到的错误码 A 合成错误码 AB, 将错误码 AB 传递给上层 模块。
2: 根据权利要求 1 所述的方法, 其特征在于, 所述将自身生成的错误码 B 和所接收到的 错误码 A 合成错误码 AB 具体包括 : 将错误码 A 左移 4 位, 将自身生成的错误码 B 放在最低 4 位, 合成错误码 AB。
3: 根据权利要求 1 所述的方法, 其特征在于, 所述将自身生成的错误码 B 和所接收到 的错误码 A 合成错误码 AB 具体包括 : 当自身生成的错误码 B 大于 15 个类型, 将错误码 A 左 移 12 位, 错误码 B 放在最低 12 位, 其中在最低 12 位中, 高 4bit 为 0, 低 8bit 为错误码, 合 成错误码 AB。
4: 一种软件错误码的传递装置, 其特征在于, 所述装置包括 : 接收单元 (402), 用于接收下层模块发来的错误码 A, 错误码 A 是当下层模块有故障分 支时生成的 ; 合成单元 (404), 用于将自身生成的错误码 B 和所接收到的错误码 A 合成错误码 AB ; 发送单元 (406), 用于将所述错误码 AB 传递给上层模块。
5: 根据权利要求 4 所述的装置, 其特征在于, 所述合成单元具体包括 : 将所接收到的错 误码 A 左移 4 位, 将自身生成的错误码 B 放在最低 4 位, 合成错误码 AB。
6: 根据权利要求 4 所述的装置, 其特征在于, 所述合成单元具体包括 : 当自身生成的错 误码 B 大于 15 个类型, 将错误码 A 左移 12 位, 错误码 B 放在最低 12 位, 其中最低 12 位中, 高 4bit 为 0, 低 8bit 为错误码, 合成错误码 AB。
7: 一种软件错误码的传递系统, 其特征在于, 包括 : 第一模块 (502), 用于生成错误码 A 并发送出去 ; 所述生成错误码 A 是在第一模块有故 障分支时生成的 ; 第二模块 (504), 用于接收所述错误码 A, 并且将自身生成的错误码 B 和所述错误码 A 合成错误码 AB, 并发送出去, 所述第二模块是第一模块的上层模块。
8: 根据权利要求 7 所述的系统, 其特征在于, 所述第二模块具体包括 : 接收单元, 用于接收第一模块发来的错误码 A ; 合成单元, 用于将自身生成的错误码 B 和所接收到的错误码 A 合成错误码 AB ; 发送单元, 用于将所述错误码 AB 发送出去。
9: 根据权利要求 8 所述的系统, 其特征在于, 所述合成单元具体包括 : 将所接收到的错 误码 A 左移 4 位, 将自身生成的错误码 B 放在最低 4 位, 合成错误码 AB。
10: 根据权利要求 8 所述的系统, 其特征在于, 所述合成单元具体包括 : 当自身生成的 错误码 B 大于 15 个类型, 将错误码 A 左移 12 位, 错误码 B 放在最低 12 位, 其中最低 12 位 中, 高 4bit 为 0, 低 8bit 为错误码, 合成错误码 AB。

说明书


一种软件错误码的传递方法、 装置及系统

    【技术领域】
     本发明实施例涉及通信技术, 尤其涉及一种软件错误码的传递方法、 装置及系统。背景技术 在软件设计中, 通常都会设计模块或设计函数返回错误码, 根据错误码来判断、 定 位软件故障分支流程。
     目前, 错误码的设计思路通常有两类 : 错误码连续传递方式和错误码间接传递方 式。具体来说, 错误码连续传递方式指不改变原始错误码而连续传递的方式。如图 1 所示, 图 1 是现有技术中错误码连续传递方式的方法流程图。 根据图 1, 底层模块 A 将错误码 errA 传递给上一层模块 B, 这样错误码 errA 依次传到顶层模块, 顶层模块返回错误码给外部接 口。错误码连续传递方式的优点是外部接口可以知道最原始的错误码, 其不足是外部接口 无法得知错误码的传递路径, 且由于 errA 通常是一类错误类型, 所以外部接口并不能精确 定位故障。 错误码间接传递方式的方式可以参考图 2, 图 2 是现有技术中错误码间接传递方 式的方法流程图。根据图 2, 错误码通过间接传递, 外部接口可以知道顶层模块 N 的故障分 支。 但是由于错误码间接传递, 外部接口不知道除顶层模块外的其它模块的错误码, 且不知 道错误码的传递路径, 外部接口同样并不能精确定位故障。
     发明内容
     本发明实施例提供一种软件错误码的传递方法及装置, 可以确定错误码的传递路 径, 以便精确的定位故障错误原因, 提高可维护性。
     本发明实施例提供的一种软件错误码的传递方法, 包括 :
     接收下层模块发来的错误码 A, 错误码 A 是当下层模块有故障分支时生成的 ;
     将自身生成的错误码 B 和所接收到的错误码 A 合成错误码 AB, 将错误码 AB 传递给 上层模块。
     本发明实施例提供的一种软件错误码的传递装置, 所述装置包括 :
     接收单元, 用于接收下层模块发来的错误码 A, 错误码 A 是当下层模块有故障分支 时生成的 ;
     合成单元, 用于将自身生成的错误码 B 和所接收到的错误码 A 合成错误码 AB ;
     发送单元, 用于将所述错误码 AB 传递给上层模块。
     本发明实施例提供的一种软件错误码的传递系统, 包括 :
     第一模块, 用于生成错误码 A 并发送出去 ; 所述生成错误码 A 是在第一模块有故障 分支时生成的 ;
     第二模块, 用于接收所述错误码 A, 并且将自身生成的错误码 B 和所述错误码 A 合 成错误码 AB, 并发送出去, 所述第二模块是第一模块的上层模块。
     通过本发明实施例提出的软件错误码的传递方法、 装置和系统, 错误码在传递的 过程中携带各层模块的故障分支信息, 这样, 根据错误码就可以确定错误码的传递路径, 以便精确的定位故障错误原因, 提高可维护性。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下面描述中的附图是本发 明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根 据这些附图获得其他的附图。
     图 1 是现有技术中错误码连续传递方式的方法流程图 ;
     图 2 是现有技术中错误码间接传递方式的方法流程图 ;
     图 3 是本发明实施例提供的软件错误码的传递方法流程图 ;
     图 4 是本发明实施例提供的软件错误码的传递装置示意图 ;
     图 5 是本发明实施例提供的软件错误码的传递系统示意图。
     具体实施方式
     为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发明实施例 中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是 本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
     本发明的发明人经过研究发现, 对于 32 位的操作系统, 函数错误码为 32bit, 这 样可以充分利用错误码来携带更多的信息。例如, 如果用 8bit 来记录每一层错误码, 那么 32bit 可记录 4 层错误码, 类推如果用 4bit 来记录每一层的错误码, 那么 32bit 可记录 8 层 错误码, 基于此想法, 以函数为单位设计错误码, 函数调用时继承上一层的错误码, 将多级 错误码合成在一起。
     实施例一 :
     本发明实施例提供了一种软件错误码的传递方法, 参见图 3, 图 3 是本发明实施例 提供的软件错误码的传递方法流程图 ; 该方法包括 :
     302 : 接收下层模块发来的错误码 A, 错误码 A 是当下层模块有故障分支时生成 的;
     304 : 将自身生成的错误码 B 和所接收到的错误码 A 合成错误码 AB, 将错误码 AB 传 递给上层模块 ;
     如何合成错误码 AB 的具体实现方式本发明不做限定。
     示例一, 以 4bit 来记录每一层错误码, 当收到下层模块发来的错误码 A 时, 将错误 码 A 左移 4 位, 将自身生成的错误码 B 放在最低 4 位, 合成错误码 AB ; 构建错误码具体可实 现如下 :
     #define BUILD_ERR_NUM(ulErrNoAdd, ulErrNoOld)\
     ((ulErrNoOld << 4)|(ulErrNoAdd & 0Xf))
     示例二, 以 4bit 来记录每一层错误码, 每层最多只能记 15 个类型的错误码, 可用 以下方法可扩展到 255 个类型的错误码。如果错误码小于 15 个类型仍用 4bit 记录, 如果 错误码大于 15 个类型则用 12bit 记录, 其中高 4bit 为 0, 低 8bit 为错误码。构建错误码具体可实现如下 :
     #define BUILD_ERR_NUM(ulErrNoAdd, ulErrNoOld)\
     ((ulErrNoOld << 16) ? ((ulErrNoOld << 4)|ulErrNoAdd)\
     : ((ulErrNoOld << 12)|(ulErrNoAss << 4)))
     这样, 当自身生成的错误码 B 大于 15 个类型, 则将错误码 A 左移 12 位, 错误码 B 放在最低 12 位, 即最低 12 位中, 高 4bit 为 0, 低 8bit 为错误码, 合成错误码 AB。
     相应地, 上层模块将自身生成的错误码 C 和所接收到的错误码 AB 合成错误码 ABC, 将错误码 ABC 传递给更上层模块 ;
     依此类推, 顶层模块 N 将自身生成的错误码 N 和所接收到的 ABC... 合成错误码 ABC...N 传递给外部接口。
     当外部接口进行错误码解析时, 最低位的错误码为顶层错误码 ; 例如 :
     结合示例一进行说明, 对于 32 位的操作系统来说, 如果用 4bit 来记录每一层的 错误码, 那么 32bit 可记录 8 层错误码, 这样当错误码为 0001 0010 00110100 0101 0110 0111 1000 时, 则 1000 为最顶层错误码, 0001 为最底层错误码。
     结合示例二进行说明, 对于 32 位的操作系统, 当错误码为 0001 0000 10111100 0000 1101 1110 1111 时, 1111 为最顶层错误码, 0001 为底层错误码, 对于错误码的类型大 于 15 个时, 则错误码用 12bit 记录, 具体来说高 4bit 为 0, 低 8bit 为错误码, 也就是说 0000 1011 1100 和 0000 1101 1111 分别为中间二层的错误码, 这样, 虽然示例二的方法只记录 了 4 层错误码, 但是每层错误码可以记录的错误码类型的个数可以达到 255 个, 而且由于最 顶层错误码位于最低位, 这样可以确保最顶层以及相邻最顶层的错误码可以被获得。
     可见, 通过本发明实施例提供的软件错误码的传递方法, 错误码在传递的过程中 携带各层模块的故障分支信息, 这样, 根据错误码就可以确定错误码的传递路径, 以便精确 的定位故障错误原因, 提高可维护性。
     实施例二 :
     本发明实施例还提供了一种软件错误码的传递装置, 参见图 4, 图 4 是本发明实施 例提供的软件错误码的传递装置示意图, 该装置包括 :
     接收单元 402 : 用于接收下层模块发来的错误码 A, 错误码 A 是当下层模块有故障 分支时生成的 ;
     合成单元 404 : 用于将自身生成的错误码 B 和所接收到的错误码 A 合成错误码 AB ;
     发送单元 406, 用于将所述错误码 AB 传递给上层模块 ;
     如何合成错误码 AB 的具体实现方式本发明不做限定。
     示例一, 以 4bit 来记录每一层错误码, 这样, 合成单元具体包括 : 将所接收到的错 误码 A 左移 4 位, 将自身生成的错误码 B 放在最低 4 位, 合成错误码 AB ;
     示例二, 以 4bit 来记录每一层错误码, 每层最多只能记 15 个类型的错误码, 可用 以下方法可扩展到 255 个类型的错误码。如果错误码小于 15 个类型仍用 4bit 记录, 如果 错误码大于 15 个类型则用 12bit 记录, 其中高 4bit 为 0, 低 8bit 为错误码。
     这样, 合成单元具体包括 : 当自身生成的错误码 B 大于 15 个类型, 将错误码 A 左移 12 位, 错误码 B 放在最低 12 位, 其中最低 12 位中, 高 4bit 为 0, 低 8bit 为错误码, 合成错 误码 AB。可见, 通过本发明实施例提供的软件错误码的传递装置, 错误码在传递的过程中 携带各层模块的故障分支信息, 这样, 根据错误码就可以确定错误码的传递路径, 以便精确 的定位故障错误原因, 提高可维护性。
     实施例三 :
     本发明实施例还提供了一种软件错误码的传递系统, 参见图 5, 图 5 是本发明实施 例提供的软件错误码的传递系统示意图, 该系统包括 :
     第一模块 502 : 用于生成错误码 A 并发送出去 ; 所述生成错误码 A 是在第一模块有 故障分支时生成的 ;
     第二模块 504, 用于接收所述错误码 A, 并且将自身生成的错误码 B 和所述错误码 A 合成错误码 AB, 并发送出去, 所述第二模块是第一模块的上层模块 ;
     在本发明具体实现时, 所述第二模块具体包括 :
     接收单元, 用于接收第一模块发来的错误码 A ;
     合成单元, 用于将自身生成的错误码 B 和所接收到的错误码 A 合成错误码 AB ;
     发送单元, 用于将所述错误码 AB 发送出去。
     如何合成错误码 AB 的具体实现方式本发明不做限定。 示例一, 以 4bit 来记录每一层错误码, 这样, 合成单元具体包括 : 将所接收到的错 误码 A 左移 4 位, 将自身生成的错误码 B 放在最低 4 位, 合成错误码 AB ;
     示例二, 以 4bit 来记录每一层错误码, 每层最多只能记 15 个类型的错误码, 可用 以下方法可扩展到 255 个类型的错误码。如果错误码小于 15 个类型仍用 4bit 记录, 如果 错误码大于 15 个类型则用 12bit 记录, 其中高 4bit 为 0, 低 8bit 为错误码。
     这样, 合成单元具体包括 : 当自身生成的错误码 B 大于 15 个类型, 将错误码 A 左移 12 位, 错误码 B 放在最低 12 位, 其中最低 12 位中, 高 4bit 为 0, 低 8bit 为错误码, 合成错 误码 AB。
     相应地, 所述系统还包括第三模块, 用于接收所述错误码 AB, 并且将自身生成的错 误码 C 和所述错误码 AB 合成错误码 ABC, 并发送出去, 所述第三模块是第二模块的上层模 块 ;;
     依次类推, 所述系统还进一步顶层模块, 用于将自身生成的错误码 N 和所接收到 的 ABC... 合成错误码 ABC...N 传递给外部接口, 所述 ABC... 指所述顶层模块的相邻下层 模块生成的错误码。
     可见, 通过本发明实施例提供的软件错误码的传递系统, 错误码在传递的过程中 携带各层模块的故障分支信息, 这样, 根据错误码就可以确定错误码的传递路径, 以便精确 的定位故障错误原因, 提高可维护性。
     本领域普通技术人员可以理解 : 实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成, 前述程序可以存储于一计算机可读取存储介质中, 该程序在 执行时, 执行包括上述方法实施例的步骤 ; 而前述的存储介质包括 : ROM、 RAM、 磁碟或者光 盘等各种可以存储程序代码的介质。
     最后应说明的是 : 以上实施例仅用以说明本发明的技术方案, 而非对其限制 ; 尽 管参照前述实施例对本发明进行了详细的说明, 本领域的普通技术人员应当理解 : 其依然 可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分技术特征进行等同替
     换; 而这些修改或者替换, 并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。

一种软件错误码的传递方法、装置及系统.pdf_第1页
第1页 / 共9页
一种软件错误码的传递方法、装置及系统.pdf_第2页
第2页 / 共9页
一种软件错误码的传递方法、装置及系统.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《一种软件错误码的传递方法、装置及系统.pdf》由会员分享,可在线阅读,更多相关《一种软件错误码的传递方法、装置及系统.pdf(9页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101980176A43申请公布日20110223CN101980176ACN101980176A21申请号201010528930622申请日20101029G06F11/3620060171申请人华为数字技术有限公司地址100085北京市海淀区上地信息路3号72发明人李波54发明名称一种软件错误码的传递方法、装置及系统57摘要本发明实施例提供了软件错误码的传递方法,该方法包括接收下层模块发来的错误码A,错误码A是当下层模块有故障分支时生成的;将自身生成的错误码B和所接收到的错误码A合成错误码AB,将错误码AB传递给上层模块。此外,本发明实施例还提供了相应的软件错误码的传递。

2、装置和系统。通过本发明实施例提出的软件错误码的传递方法、装置和系统,错误码在传递的过程中携带各层模块的故障分支信息,这样,根据错误码就可以确定错误码的传递路径,以便精确的定位故障错误原因,提高可维护性。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书5页附图2页CN101980181A1/1页21一种软件错误码的传递方法,其特征在于,包括接收下层模块发来的错误码A,错误码A是当下层模块有故障分支时生成的;将自身生成的错误码B和所接收到的错误码A合成错误码AB,将错误码AB传递给上层模块。2根据权利要求1所述的方法,其特征在于,所述将自身生成的错误码B和所接收到。

3、的错误码A合成错误码AB具体包括将错误码A左移4位,将自身生成的错误码B放在最低4位,合成错误码AB。3根据权利要求1所述的方法,其特征在于,所述将自身生成的错误码B和所接收到的错误码A合成错误码AB具体包括当自身生成的错误码B大于15个类型,将错误码A左移12位,错误码B放在最低12位,其中在最低12位中,高4BIT为0,低8BIT为错误码,合成错误码AB。4一种软件错误码的传递装置,其特征在于,所述装置包括接收单元402,用于接收下层模块发来的错误码A,错误码A是当下层模块有故障分支时生成的;合成单元404,用于将自身生成的错误码B和所接收到的错误码A合成错误码AB;发送单元406,用于将。

4、所述错误码AB传递给上层模块。5根据权利要求4所述的装置,其特征在于,所述合成单元具体包括将所接收到的错误码A左移4位,将自身生成的错误码B放在最低4位,合成错误码AB。6根据权利要求4所述的装置,其特征在于,所述合成单元具体包括当自身生成的错误码B大于15个类型,将错误码A左移12位,错误码B放在最低12位,其中最低12位中,高4BIT为0,低8BIT为错误码,合成错误码AB。7一种软件错误码的传递系统,其特征在于,包括第一模块502,用于生成错误码A并发送出去;所述生成错误码A是在第一模块有故障分支时生成的;第二模块504,用于接收所述错误码A,并且将自身生成的错误码B和所述错误码A合成错。

5、误码AB,并发送出去,所述第二模块是第一模块的上层模块。8根据权利要求7所述的系统,其特征在于,所述第二模块具体包括接收单元,用于接收第一模块发来的错误码A;合成单元,用于将自身生成的错误码B和所接收到的错误码A合成错误码AB;发送单元,用于将所述错误码AB发送出去。9根据权利要求8所述的系统,其特征在于,所述合成单元具体包括将所接收到的错误码A左移4位,将自身生成的错误码B放在最低4位,合成错误码AB。10根据权利要求8所述的系统,其特征在于,所述合成单元具体包括当自身生成的错误码B大于15个类型,将错误码A左移12位,错误码B放在最低12位,其中最低12位中,高4BIT为0,低8BIT为错。

6、误码,合成错误码AB。权利要求书CN101980176ACN101980181A1/5页3一种软件错误码的传递方法、装置及系统技术领域0001本发明实施例涉及通信技术,尤其涉及一种软件错误码的传递方法、装置及系统。背景技术0002在软件设计中,通常都会设计模块或设计函数返回错误码,根据错误码来判断、定位软件故障分支流程。0003目前,错误码的设计思路通常有两类错误码连续传递方式和错误码间接传递方式。具体来说,错误码连续传递方式指不改变原始错误码而连续传递的方式。如图1所示,图1是现有技术中错误码连续传递方式的方法流程图。根据图1,底层模块A将错误码ERRA传递给上一层模块B,这样错误码ERRA。

7、依次传到顶层模块,顶层模块返回错误码给外部接口。错误码连续传递方式的优点是外部接口可以知道最原始的错误码,其不足是外部接口无法得知错误码的传递路径,且由于ERRA通常是一类错误类型,所以外部接口并不能精确定位故障。错误码间接传递方式的方式可以参考图2,图2是现有技术中错误码间接传递方式的方法流程图。根据图2,错误码通过间接传递,外部接口可以知道顶层模块N的故障分支。但是由于错误码间接传递,外部接口不知道除顶层模块外的其它模块的错误码,且不知道错误码的传递路径,外部接口同样并不能精确定位故障。发明内容0004本发明实施例提供一种软件错误码的传递方法及装置,可以确定错误码的传递路径,以便精确的定位。

8、故障错误原因,提高可维护性。0005本发明实施例提供的一种软件错误码的传递方法,包括0006接收下层模块发来的错误码A,错误码A是当下层模块有故障分支时生成的;0007将自身生成的错误码B和所接收到的错误码A合成错误码AB,将错误码AB传递给上层模块。0008本发明实施例提供的一种软件错误码的传递装置,所述装置包括0009接收单元,用于接收下层模块发来的错误码A,错误码A是当下层模块有故障分支时生成的;0010合成单元,用于将自身生成的错误码B和所接收到的错误码A合成错误码AB;0011发送单元,用于将所述错误码AB传递给上层模块。0012本发明实施例提供的一种软件错误码的传递系统,包括001。

9、3第一模块,用于生成错误码A并发送出去;所述生成错误码A是在第一模块有故障分支时生成的;0014第二模块,用于接收所述错误码A,并且将自身生成的错误码B和所述错误码A合成错误码AB,并发送出去,所述第二模块是第一模块的上层模块。0015通过本发明实施例提出的软件错误码的传递方法、装置和系统,错误码在传递的过程中携带各层模块的故障分支信息,这样,根据错误码就可以确定错误码的传递路径,以说明书CN101980176ACN101980181A2/5页4便精确的定位故障错误原因,提高可维护性。附图说明0016为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的。

10、附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。0017图1是现有技术中错误码连续传递方式的方法流程图;0018图2是现有技术中错误码间接传递方式的方法流程图;0019图3是本发明实施例提供的软件错误码的传递方法流程图;0020图4是本发明实施例提供的软件错误码的传递装置示意图;0021图5是本发明实施例提供的软件错误码的传递系统示意图。具体实施方式0022为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,。

11、显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0023本发明的发明人经过研究发现,对于32位的操作系统,函数错误码为32BIT,这样可以充分利用错误码来携带更多的信息。例如,如果用8BIT来记录每一层错误码,那么32BIT可记录4层错误码,类推如果用4BIT来记录每一层的错误码,那么32BIT可记录8层错误码,基于此想法,以函数为单位设计错误码,函数调用时继承上一层的错误码,将多级错误码合成在一起。0024实施例一0025本发明实施例提供了一种软件错误码的传递方法,。

12、参见图3,图3是本发明实施例提供的软件错误码的传递方法流程图;该方法包括0026302接收下层模块发来的错误码A,错误码A是当下层模块有故障分支时生成的;0027304将自身生成的错误码B和所接收到的错误码A合成错误码AB,将错误码AB传递给上层模块;0028如何合成错误码AB的具体实现方式本发明不做限定。0029示例一,以4BIT来记录每一层错误码,当收到下层模块发来的错误码A时,将错误码A左移4位,将自身生成的错误码B放在最低4位,合成错误码AB;构建错误码具体可实现如下0030DEFINEBUILD_ERR_NUMULERRNOADD,ULERRNOOLD0031ULERRNOOLD4|。

13、ULERRNOADD0XF0032示例二,以4BIT来记录每一层错误码,每层最多只能记15个类型的错误码,可用以下方法可扩展到255个类型的错误码。如果错误码小于15个类型仍用4BIT记录,如果错误码大于15个类型则用12BIT记录,其中高4BIT为0,低8BIT为错误码。说明书CN101980176ACN101980181A3/5页50033构建错误码具体可实现如下0034DEFINEBUILD_ERR_NUMULERRNOADD,ULERRNOOLD0035ULERRNOOLD16ULERRNOOLD4|ULERRNOADD0036ULERRNOOLD12|ULERRNOASS40037这。

14、样,当自身生成的错误码B大于15个类型,则将错误码A左移12位,错误码B放在最低12位,即最低12位中,高4BIT为0,低8BIT为错误码,合成错误码AB。0038相应地,上层模块将自身生成的错误码C和所接收到的错误码AB合成错误码ABC,将错误码ABC传递给更上层模块;0039依此类推,顶层模块N将自身生成的错误码N和所接收到的ABC合成错误码ABCN传递给外部接口。0040当外部接口进行错误码解析时,最低位的错误码为顶层错误码;例如0041结合示例一进行说明,对于32位的操作系统来说,如果用4BIT来记录每一层的错误码,那么32BIT可记录8层错误码,这样当错误码为000100100011。

15、01000101011001111000时,则1000为最顶层错误码,0001为最底层错误码。0042结合示例二进行说明,对于32位的操作系统,当错误码为00010000101111000000110111101111时,1111为最顶层错误码,0001为底层错误码,对于错误码的类型大于15个时,则错误码用12BIT记录,具体来说高4BIT为0,低8BIT为错误码,也就是说000010111100和000011011111分别为中间二层的错误码,这样,虽然示例二的方法只记录了4层错误码,但是每层错误码可以记录的错误码类型的个数可以达到255个,而且由于最顶层错误码位于最低位,这样可以确保最顶层。

16、以及相邻最顶层的错误码可以被获得。0043可见,通过本发明实施例提供的软件错误码的传递方法,错误码在传递的过程中携带各层模块的故障分支信息,这样,根据错误码就可以确定错误码的传递路径,以便精确的定位故障错误原因,提高可维护性。0044实施例二0045本发明实施例还提供了一种软件错误码的传递装置,参见图4,图4是本发明实施例提供的软件错误码的传递装置示意图,该装置包括0046接收单元402用于接收下层模块发来的错误码A,错误码A是当下层模块有故障分支时生成的;0047合成单元404用于将自身生成的错误码B和所接收到的错误码A合成错误码AB;0048发送单元406,用于将所述错误码AB传递给上层模。

17、块;0049如何合成错误码AB的具体实现方式本发明不做限定。0050示例一,以4BIT来记录每一层错误码,这样,合成单元具体包括将所接收到的错误码A左移4位,将自身生成的错误码B放在最低4位,合成错误码AB;0051示例二,以4BIT来记录每一层错误码,每层最多只能记15个类型的错误码,可用以下方法可扩展到255个类型的错误码。如果错误码小于15个类型仍用4BIT记录,如果错误码大于15个类型则用12BIT记录,其中高4BIT为0,低8BIT为错误码。0052这样,合成单元具体包括当自身生成的错误码B大于15个类型,将错误码A左移12位,错误码B放在最低12位,其中最低12位中,高4BIT为0。

18、,低8BIT为错误码,合成错误码AB。说明书CN101980176ACN101980181A4/5页60053可见,通过本发明实施例提供的软件错误码的传递装置,错误码在传递的过程中携带各层模块的故障分支信息,这样,根据错误码就可以确定错误码的传递路径,以便精确的定位故障错误原因,提高可维护性。0054实施例三0055本发明实施例还提供了一种软件错误码的传递系统,参见图5,图5是本发明实施例提供的软件错误码的传递系统示意图,该系统包括0056第一模块502用于生成错误码A并发送出去;所述生成错误码A是在第一模块有故障分支时生成的;0057第二模块504,用于接收所述错误码A,并且将自身生成的错误。

19、码B和所述错误码A合成错误码AB,并发送出去,所述第二模块是第一模块的上层模块;0058在本发明具体实现时,所述第二模块具体包括0059接收单元,用于接收第一模块发来的错误码A;0060合成单元,用于将自身生成的错误码B和所接收到的错误码A合成错误码AB;0061发送单元,用于将所述错误码AB发送出去。0062如何合成错误码AB的具体实现方式本发明不做限定。0063示例一,以4BIT来记录每一层错误码,这样,合成单元具体包括将所接收到的错误码A左移4位,将自身生成的错误码B放在最低4位,合成错误码AB;0064示例二,以4BIT来记录每一层错误码,每层最多只能记15个类型的错误码,可用以下方法。

20、可扩展到255个类型的错误码。如果错误码小于15个类型仍用4BIT记录,如果错误码大于15个类型则用12BIT记录,其中高4BIT为0,低8BIT为错误码。0065这样,合成单元具体包括当自身生成的错误码B大于15个类型,将错误码A左移12位,错误码B放在最低12位,其中最低12位中,高4BIT为0,低8BIT为错误码,合成错误码AB。0066相应地,所述系统还包括第三模块,用于接收所述错误码AB,并且将自身生成的错误码C和所述错误码AB合成错误码ABC,并发送出去,所述第三模块是第二模块的上层模块;0067依次类推,所述系统还进一步顶层模块,用于将自身生成的错误码N和所接收到的ABC合成错误。

21、码ABCN传递给外部接口,所述ABC指所述顶层模块的相邻下层模块生成的错误码。0068可见,通过本发明实施例提供的软件错误码的传递系统,错误码在传递的过程中携带各层模块的故障分支信息,这样,根据错误码就可以确定错误码的传递路径,以便精确的定位故障错误原因,提高可维护性。0069本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。0070最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替说明书CN101980176ACN101980181A5/5页7换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。说明书CN101980176ACN101980181A1/2页8图1图2说明书附图CN101980176ACN101980181A2/2页9图3图4图5说明书附图CN101980176A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1