CN112994963A - 一种处理方法及装置 - Google Patents
一种处理方法及装置 Download PDFInfo
- Publication number
- CN112994963A CN112994963A CN201911286447.9A CN201911286447A CN112994963A CN 112994963 A CN112994963 A CN 112994963A CN 201911286447 A CN201911286447 A CN 201911286447A CN 112994963 A CN112994963 A CN 112994963A
- Authority
- CN
- China
- Prior art keywords
- instruction
- error
- microcode
- microcode instruction
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000001514 detection method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 230000009191 jumping Effects 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种处理方法及装置,其中处理方法包括对微码指令进行检测;在检测到错误微码指令的情况下,该方法还包括以下之一:丢弃该错误微码指令所对应的报文;或者,对该错误微码指令所对应的线程进行调试处理,解决了相关技术中微码指令的偶发性出错造成报文出错的问题,提高了出错报文的处理效率。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种处理方法及装置。
背景技术
相关技术中,报文转发领域普遍采用网络处理器这种可编程的报文处理系统,对转发的报文进行并行的数据处理,一方面提供了带宽吞吐量,另一方面可以应对越来越多样化的网络协议,具有高度的灵活性。
随着网络设备所处理的数据量的增大,工作环境的各种差异,各种需要处理的网络协议的多样化;往往会遇到报文处理出错的情况,例如,报文处理系统的电路规模越来越大,网络处理器的指令有可能出现暂时的错误,例如电磁干扰等,会造成报文的偶然性出错;又或者随着设备的老化带来的电路的不稳定,也是会造成报文的偶然性出错。针对这种偶发性的,不是固定的,特别是微码指令相关的出错,难以捕捉这种出错的报文。
针对相关技术中,微码指令的偶发性出错造成报文出错的问题,尚不存在解决方案。
发明内容
本发明实施例提供了一种处理方法及装置,以至少解决相关技术中微码指令的偶发性出错造成报文出错的问题。
根据本发明的一个实施例,提供了一种处理方法,包括:
对微码指令进行检测;
在检测到错误微码指令的情况下,所述方法还包括以下之一:丢弃所述错误微码指令所对应的报文;或者,对所述错误微码指令所对应的线程进行调试处理。
根据本发明的另一个实施例,提供了一种处理装置,包括:
检测模块,用于对微码指令进行检测;
处理模块,用于在检测到错误微码指令的情况下,丢弃所述错误微码指令所对应的报文;或者,用于在检测到错误微码指令的情况下,对所述错误微码指令所对应的线程进行调试处理。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述计算机可读的存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明实施例,由于对微码指令进行检测;在检测到错误微码指令的情况下,该方法还包括以下之一:丢弃该错误微码指令所对应的报文;或者,对该错误微码指令所对应的线程进行调试处理,因此,可以解决相关技术中微码指令的偶发性出错造成报文出错的问题,提高了出错报文的处理效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的处理方法的流程图;
图2是根据本发明实施例的处理装置的结构框图;
图3是根据本发明可选实施例的对于微码指令的偶发性出错的报错及调试方法的流程图;
图4是根据本发明可选实施例的微码异常处理装置的结构框图;
图5是根据本发明可选实施例的微码指令检测的流程图;
图6是根据本发明可选实施例的调试过程的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在运算装置中执行,图1是根据本发明实施例的处理方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,对微码指令进行检测;
步骤S103,在检测到错误微码指令的情况下,该方法还包括以下之一:丢弃该错误微码指令所对应的报文;或者,对该错误微码指令所对应的线程进行调试处理。
通过上述步骤,由于对微码指令进行检测;在检测到错误微码指令的情况下,该方法还包括以下之一:丢弃该错误微码指令所对应的报文;或者,对该错误微码指令所对应的线程进行调试处理,解决了相关技术中微码指令的偶发性出错造成报文出错的问题,提高了出错报文的处理效率。
可选地,对该错误微码指令所对应的线程进行调试处理,包括:存储调试信息,其中,该调试信息用于表征该线程的运行情况;读取该调试信息,根据该调试信息对该线程进行调试。
可选地,该方法还包括:在丢弃该错误微码指令所对应的该报文之前,跳转至报文丢弃指令的地址;或者,在对该错误微码指令所对应的该线程进行调试处理之前,跳转至调试指令的地址。
可选地,该方法还包括:在跳转至该报文丢弃指令的地址之后,继续执行正确的微码指令;或者,在跳转至该调试指令的地址之后,继续执行正确的微码指令。
可选地,对该微码指令进行检测,包括以下至少之一:检测该微码指令的操作码和操作数,在该操作码不属于预先设定的指定类型,以及,该操作数超过预先设定的操作数阈值的情况下,确定该微码指令为错误微码指令;或者,检测该微码指令访问的存储器的地址,在该地址不属于预先设定的地址范围的情况下,确定该微码指令为错误微码指令;或者,检测指定报文所对应的微码指令的数量,在该数量超过预先设定的数量阈值的情况下,确定该微码指令为错误微码指令。
需要说明的是可以在满足以上任意之一情形时确定该微码指令为错误微码指令,也可以是在满足以上任意两种情形时确定该微码指令为错误微码指令,也可以是满足以上全部情形时确定该微码指令为错误微码指令。
可选地,在丢弃该错误微码指令所对应的报文之后,该方法还包括:将该报文的丢弃原因反馈给报文转发装置。
可选地,该方法还包括:在检测到错误微码指令的情况下,统计该错误微码指令的类型和/或次数。
在本实施例中还提供了一种处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的处理装置的结构框图,如图2所示,该装置包括:
检测模块22,用于对微码指令进行检测;
处理模块24,用于在检测到错误微码指令的情况下,丢弃该错误微码指令所对应的报文;或者,用于在检测到错误微码指令的情况下,对该错误微码指令所对应的线程进行调试处理。
通过上述模块,由于对微码指令进行检测;在检测到错误微码指令的情况下,该方法还包括以下之一:丢弃该错误微码指令所对应的报文;或者,对该错误微码指令所对应的线程进行调试处理,解决了相关技术中微码指令的偶发性出错造成报文出错的问题,提高了出错报文的处理效率。
可选地,该处理模块24用于在检测到错误微码指令的情况下,对该错误微码指令所对应的线程进行调试处理,该处理模块24包括:
存储模块,用于存储调试信息,其中,该调试信息用于表征该线程的运行情况;读取模块,用于读取该调试信息,根据该调试信息对该线程进行调试。
可选地,该装置还包括:第一跳转模块,用于在丢弃该错误微码指令所对应的该报文之前,跳转至报文丢弃指令的地址;或者,第二跳转模块,用于在对该错误微码指令所对应的该线程进行调试处理之前,跳转至调试指令的地址。
可选地,该装置还包括:第一执行模块,用于在跳转至报文丢弃指令的地址之后,继续执行正确的微码指令;或者,第二执行模块,用于在跳转至调试指令的地址之后,继续执行正确的微码指令。
可选地,检测模块22,包括:第一检测模块,用于检测该微码指令的操作码和操作数,在该操作码不属于预先设定的指定类型,以及,该操作数超过预先设定的操作数阈值的情况下,确定该微码指令为错误微码指令;或者,第二检测模块,用于检测该微码指令访问的存储器的地址,在该地址不属于预先设定的地址范围的情况下,确定该微码指令为错误微码指令;或者,第三检测模块,用于检测指定报文所对应的微码指令的数量,在该数量超过预先设定的数量阈值的情况下,确定该微码指令为错误微码指令。
可选地,该装置还包括:反馈模块,用于在丢弃该错误微码指令所对应的报文之后,将该报文的丢弃原因反馈给报文转发装置。
可选地,该装置还包括::统计模块,用于在检测到错误微码指令的情况下,统计该错误微码指令的类型和/或次数。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
可选实施方式
本实施例可以解决这种微码指令的偶发性出错造成报文出错的问题,充分利用报文转发系统的可编程特性,软硬件结合,本实施例提供了一种报错,调试的手段,而不影响正常报文的转发。
图3是根据本发明可选实施例的对于微码指令的偶发性出错的报错及调试方法的流程图,如图3所示,包括:
第一步:微码指令错误检测,例如,检测微码指令的偶发性出错。
示例性地,在本实施例中,把微码指令的偶发性出错细分为3种类型:第1种是非法指令出错;第2种是非法访问存储出错;第3种是超时出错。非法指令出错就是从指令存储器读取回来,然后再送去微引擎执行的指令是所定义的硬件指令集外的,不是合法的指令。这种指令在微码编译的过程中是不可能存在的,只会存在于硬件的不稳定或者指令存储出故障的情况下。非法访问存储的错误一般是比较隐蔽的,在编译阶段不好发现的,而可以在指令执行阶段被检查出来。这里的非法访问存储错误的检测是一种先于执行的检查,即在对存储进行访问之前被检测出来并根据检查结果对存储的访问操作进行控制。超时出错就是对于一个报文的转发处理所需要执行的微码指令的数目超出了微码设计者所规划的阈值,这种超时出错一般存在于一些跳转和循环结构的微码中,如果跳转的地址出现了偶发性出错,那么就会跳入到一些非微码设计者意图的指令段,就存在微码超时执行的可能。
第二步:微码指令错误上报方式选择。
在检测出微码指令的偶发性错误之后,本实施例提供了两种报错的方式:第1种报错方式是直接丢弃报文的方式,而且提供丢弃报文的原因给报文转发装置,此外还会进行异常的统计计数。这种方式最常用,会在正常工作的过程中使用。第2种报错的方式就是根据用户的寄存器配置,让对应的出错线程进入调试状态。
第三步:微码指令错误调试。
在出错的线程进入调试模式后,本实施例提供了以下所描述的这样一种调试方法:指令出错的时候,如果是被配置进入调试状态的情况下,那么会跳入到一段debug指令段;通过这段debug指令,会把需要调试的关键信息,传送至一个内核的key-ram中;执行完debug指令段后,会循环执行一个trap1指令并上报中断,等待用户的进一步调试。用户可以通过配置一个寄存器,把key-ram中的调试数据读取处理,转存至一个debug-ram中。这个debug-ram的内容是可以被用户读取出来进行分析的。
可选地,图4是根据本发明可选实施例的微码异常处理装置的结构框图,如图4所示,微码异常处理装置包括以下模块:错误检测模块A、微码执行模块B、指令地址生成模块C、调试处理模块D和错误类型统计模块E。
其中错误检测模块A和指令地址生成模块C是本实施例的比较重要的部分,可以通过软硬件结合的方式解决偶发性指令出错的问题。
错误检测模块A:该模块就是检测前面定义的3种微码指令出错的情况的模块。这些检测过程可以通过硬件结构实现。
微码执行模块B:该模块就是执行微码指令的模块,是可编程报文转发系统中进行微码执行的模块。
指令地址生成模块C:该模块是在指令地址产生模块的基础上加上异常情况的指令地址跳转功能。通过不同的跳转地址来实现不同的异常处理;不同的跳转地址所对应执行的异常处理的微码可以通过软件程序实现。
调试处理模块D:该模块就是用于实现调试的功能模块。在用户通过寄存器配置当微码指令出错的时候进入调试模式时候所需要实现的硬件功能。包括了调试信息由微引擎搬移到debug-ram;并提供读取接口把debug-ram的内容传至上位机;上报中断让用户开始调试操作。
错误类型统计模块E:该模块用于对3种指令错误类型进行计数。该计数值可以提供给用户用于判断微码指令异常是否是偶发性。例如指令存储某些存储地址出故障造成了非法指令出现,那么这个计数值就会迅速累加而且和报文的数目是具有线性的关系的。
可选地,错误检测模块A对输入的指令进行检测,如果没有错误,那么就把指令原样输给微码执行模块B。如果检测出错误,那么就会把出错的情况发送给指令地址生成模块C;指令地址生成模块C根据出错的类型产生对应的微码指令跳转地址,取新的微码返回送给微码执行模块B;微码执行模块B通过执行相关的指令实现报文直接丢弃或者进入调试模式。
如果是进入调试模式的情况下,微码执行模块B会执行一段debug指令,把相关的调试数据存入到key-ram中;然后通过调试处理模块D上传中断通知用户对出错的线程进行调试。用户可以通过配置一个寄存器把调试相关信息从key-ram搬移到debug-ram;调试处理模块D提供读取接口让用户读取debug-ram中的调试信息用于调试分析。调试处理模块D还可以依据用户的配置产生调试指令地址去取对应的调试指令送往微码执行模块B执行。
模块E用于微码指令错误类型的计数,并提供读取接口给用户用于分析出错的原因。
采用本实施例所述方法和装置,与相关技术相比,提出了微码指令偶发性错误的检查和异常处理方案,达到了在现有的可编程系统的硬件条件下,花费少量的硬件资源,利用软硬件结合的方式,提高了报文处理系统的可靠性和异常处理的灵活性。
下面结合附图对技术方案的实施作进一步的详细描述,本实施例的处理步骤如下:
第1步:错误检测。可选地,图5是根据本发明可选实施例的微码指令检测的流程图,如图5所示,先进行是否是非法指令的检测,如果是的话,就把3bit的错误类型err_flag编码成3’b001;否则继续进行存储器访问错误的检查,如果有错误,就把3bit的错误类型err_flag编码成3’b010;否则继续进行指令执行超时的检查,如果有错误,就把3bit的错误类型err_flag编码成3’b100。
第2步:根据寄存器配置,选择是直接丢弃报文还是进入调试模式。硬件中设置一个3bit的dsr寄存器;可以通过cpu进行读写。下面举例详细说明这个3bit的dsr寄存器是如何和err_flag配合起来工作的。
假如出现非法指令错误;那么err_flag=3’b001;如果dsr的bit0配置成0;表示直接丢弃报文;dsr的bit0配置成1;则表示需要进入调试模式。
假如出现存储器访问错误;那么err_flag=3’b010;如果dsr的bit1配置成0;表示直接丢弃报文;dsr的bit1配置成1;则表示需要进入调试模式。
假如出现指令执行超时错误;那么err_flag=3’b100;如果dsr的bit2配置成0;表示直接丢弃报文;dsr的bit2配置成1;则表示需要进入调试模式。
第3步:如果是进入调试模式的情况,就会把调试的信息存入key-ram中,并上报中断,用户可以通过cpu读写接口把调试信息从key-ram搬移至debug-ram中并读取出来用于分析。
图6是根据本发明可选实施例的调试过程的流程图,下面根据图6进行详细的说明如下:
当进入调试模式的时候,第1步就是把调试的信息存入到key-ram中,这里的调试信息包括两大类;一类是报文数据;另一类是微码引擎的执行环境数据。
第2步就是上报中断告诉主机出现错误。
第3步就是主机把key-ram的信息搬移至debug-ram中,并读取出来,用于分析错误的具体原因。
第4步就是主机发送调试指令对被调试的报文进行调试。
第5步就是退出调试模式。
可选地,本实施例的装置包含有5个模块;分别为错误检查模块A;微码执行模块B;指令地址生成模块C;调试处理模块D;错误类型统计模块E。下面分别对一些模块的实现提出一些实施例。
错误检查模块A的实现下面根据三种不同的错误进行描述:
第一种非法指令错误的实现如下:对于指令的格式简化为“操作码+操作数”进行说明,其中操作码用于表示是什么指令;而操作数就是指令处理的数据。那么非法指令错误第一种就是输入的指令的操作码不属于硬件定义的指令集中的任何一种操作码,那么就表示改指令为非法指令;第二种是某种类型的指令的操作数的取值范围不符合指令集的定义。
第二种存储器访问错误的实现如下:在硬件中有某些存储器的地址是不可微码指令直接访问的,如果通过分析指令访问的存储器地址超出了硬件设定的范围,那么就会判定出现了存储器访问错误。
第三种超时错误的实现如下:一般来说,对一个报文进行处理的报文的微码指令是有限的,如果一个报文运行了很多条指令还没有结束,那么认为是发生了超时错误。硬件中会通过寄存器设置一个超时的阈值;还有一个计算器用于报文的指令执行的计数,每执行一条指令就会加1;如果计算器的值超过了超时的阈值,那么就报超时错误。
微码执行模块B的实现就是对微码指令进行执行,一般会分为多级流水线来实现。
指令地址生成模块C的实现如下:
指令地址生成模块C的目的就是生成下一条指令的取指地址;有三个来源;第1个来源是正常的指令地址的顺序递增或者跳转。第2个来源是出现错误时候的地址跳转。分为两大类;第1类是进入调试模式的时候,跳转到调试指令段的地址;第2类是报文直接丢弃模式;则会跳转至对应的丢弃指令地址(3种错误对应3个不同的丢弃指令地址)。第3个来源是调试指令跳转地址,用于调试的目的。
调试模块D的一个实施例如下:
该模块在硬件中需要实现下面几个步骤:第1是上报中断给主机。第2是把调试数据从内核ram读取出来,写入debug-ram。第3是提供一个cpu接口把debug-ram的数据读取出来用于调试分析。第4是依据主机的配置产生调试指令地址。
错误类型统计模块E的一个实施例如下:
在硬件中设置三个计数器;分别对应非法指令出错的计数;存储访问错误的计数;超时错误的计数。这三个计算器可以被主机统计cpu读写接口进行读取和清零。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本发明的实施例还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
步骤S1,对微码指令进行检测;
步骤S2,在检测到错误微码指令的情况下,该方法还包括以下之一:丢弃该错误微码指令所对应的报文;或者,对该错误微码指令所对应的线程进行调试处理。
通过上述步骤,由于对微码指令进行检测;在检测到错误微码指令的情况下,该方法还包括以下之一:丢弃该错误微码指令所对应的报文;或者,对该错误微码指令所对应的线程进行调试处理,解决了相关技术中微码指令的偶发性出错造成报文出错的问题,提高了出错报文的处理效率。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
步骤S1,对微码指令进行检测;
步骤S2,在检测到错误微码指令的情况下,该方法还包括以下之一:丢弃该错误微码指令所对应的报文;或者,对该错误微码指令所对应的线程进行调试处理。
通过上述步骤,由于对微码指令进行检测;在检测到错误微码指令的情况下,该方法还包括以下之一:丢弃该错误微码指令所对应的报文;或者,对该错误微码指令所对应的线程进行调试处理,解决了相关技术中微码指令的偶发性出错造成报文出错的问题,提高了出错报文的处理效率。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种处理方法,其特征在于,包括:
对微码指令进行检测;
在检测到错误微码指令的情况下,所述方法还包括以下之一:
丢弃所述错误微码指令所对应的报文;或者,
对所述错误微码指令所对应的线程进行调试处理。
2.根据权利要求1所述的方法,其特征在于,对所述错误微码指令所对应的线程进行调试处理,包括:
存储调试信息,其中,所述调试信息用于表征所述线程的运行情况;
读取所述调试信息,根据所述调试信息对所述线程进行调试。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在丢弃所述错误微码指令所对应的所述报文之前,跳转至报文丢弃指令的地址;或者,
在对所述错误微码指令所对应的所述线程进行调试处理之前,跳转至调试指令的地址。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在跳转至所述报文丢弃指令的地址之后,继续执行正确的微码指令;或者,
在跳转至所述调试指令的地址之后,继续执行正确的微码指令。
5.根据权利要求1所述的方法,其特征在于,对所述微码指令进行检测,包括以下至少之一:
检测所述微码指令的操作码和操作数,在所述操作码不属于预先设定的指定类型,以及,所述操作数超过预先设定的操作数阈值的情况下,确定所述微码指令为错误微码指令;或者,
检测所述微码指令访问的存储器的地址,在所述地址不属于预先设定的地址范围的情况下,确定所述微码指令为错误微码指令;或者,
检测指定报文所对应的微码指令的数量,在所述数量超过预先设定的数量阈值的情况下,确定所述微码指令为错误微码指令。
6.根据权利要求1所述的方法,其特征在于,在丢弃所述错误微码指令所对应的报文之后,所述方法还包括:
将所述报文的丢弃原因反馈给报文转发装置。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到错误微码指令的情况下,统计所述错误微码指令的类型和/或次数。
8.一种处理装置,其特征在于,包括:
检测模块,用于对微码指令进行检测;
处理模块,用于在检测到错误微码指令的情况下,丢弃所述错误微码指令所对应的报文;或者,用于在检测到错误微码指令的情况下,对所述错误微码指令所对应的线程进行调试处理。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911286447.9A CN112994963A (zh) | 2019-12-13 | 2019-12-13 | 一种处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911286447.9A CN112994963A (zh) | 2019-12-13 | 2019-12-13 | 一种处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112994963A true CN112994963A (zh) | 2021-06-18 |
Family
ID=76342592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911286447.9A Pending CN112994963A (zh) | 2019-12-13 | 2019-12-13 | 一种处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112994963A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778015A (zh) * | 2010-01-07 | 2010-07-14 | 中兴通讯股份有限公司 | 一种微码测试方法和装置 |
CN105260272A (zh) * | 2015-09-24 | 2016-01-20 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种同步纠错流水线控制结构及其方法 |
CN105739947A (zh) * | 2014-12-10 | 2016-07-06 | 中兴通讯股份有限公司 | 一种寄存器冲突的检测方法及装置 |
CN107436842A (zh) * | 2016-05-25 | 2017-12-05 | 中兴通讯股份有限公司 | 一种微码调试方法及单板 |
CN109947432A (zh) * | 2019-03-28 | 2019-06-28 | Oppo广东移动通信有限公司 | 汇编程序处理方法及相关装置 |
-
2019
- 2019-12-13 CN CN201911286447.9A patent/CN112994963A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778015A (zh) * | 2010-01-07 | 2010-07-14 | 中兴通讯股份有限公司 | 一种微码测试方法和装置 |
CN105739947A (zh) * | 2014-12-10 | 2016-07-06 | 中兴通讯股份有限公司 | 一种寄存器冲突的检测方法及装置 |
CN105260272A (zh) * | 2015-09-24 | 2016-01-20 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种同步纠错流水线控制结构及其方法 |
CN107436842A (zh) * | 2016-05-25 | 2017-12-05 | 中兴通讯股份有限公司 | 一种微码调试方法及单板 |
CN109947432A (zh) * | 2019-03-28 | 2019-06-28 | Oppo广东移动通信有限公司 | 汇编程序处理方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7707394B2 (en) | Reducing the size of a data stream produced during instruction tracing | |
US9009539B1 (en) | Identifying and grouping program run time errors | |
Zhang et al. | Pruning dynamic slices with confidence | |
US7739553B2 (en) | System crash analysis using path tracing technologies | |
US7661095B2 (en) | System and method to build a callgraph for functions with multiple entry points | |
US20140047538A1 (en) | Static tainting anasystem and method for taint analysis of computer program codelysis | |
US11748072B2 (en) | Apparatus and method for source code optimisation | |
US20080276129A1 (en) | Software tracing | |
CN109144873B (zh) | 一种linux内核处理方法及装置 | |
US20150254164A1 (en) | Stack overflow protection device, method, and related compiler and computing device | |
CN109388537A (zh) | 运行信息跟踪方法、装置及计算机可读存储介质 | |
CN110647472A (zh) | 崩溃信息统计方法、装置、计算机设备及存储介质 | |
CN108111328B (zh) | 一种异常处理方法及装置 | |
US8489938B2 (en) | Diagnostic data capture in a computing environment | |
CN111819551B (zh) | 跟踪分支指令 | |
US9455940B2 (en) | Information processing apparatus and information processing method | |
US8904360B2 (en) | Automated identification of redundant method calls | |
CN110990179A (zh) | 一种任务处理方法、装置及设备 | |
CN112994963A (zh) | 一种处理方法及装置 | |
CN115357513B (zh) | 程序模糊测试方法、装置、设备及存储介质 | |
CN107291614B (zh) | 文件异常检测方法和电子设备 | |
Shea et al. | Scoped identifiers for efficient bit aligned logging | |
JP2017199250A (ja) | 計算機システム、データの分析方法、及び計算機 | |
US9361204B2 (en) | Generating trace data including a lockup identifier indicating occurrence of a lockup state | |
CN109582574A (zh) | 一种代码覆盖率统计方法、装置、存储介质及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 518055, 2nd Floor, ZTE Industrial Park, No. 2 Chuangyan Road, Xili Community, Xili Street, Nanshan District, Shenzhen City, Guangdong Province, China Applicant after: SANECHIPS TECHNOLOGY Co.,Ltd. Address before: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: SANECHIPS TECHNOLOGY Co.,Ltd. Country or region before: China |