CN104572472B - 一种程序执行顺序诊断方法与系统 - Google Patents

一种程序执行顺序诊断方法与系统 Download PDF

Info

Publication number
CN104572472B
CN104572472B CN201510043430.6A CN201510043430A CN104572472B CN 104572472 B CN104572472 B CN 104572472B CN 201510043430 A CN201510043430 A CN 201510043430A CN 104572472 B CN104572472 B CN 104572472B
Authority
CN
China
Prior art keywords
program
execution order
diagnosed
phase
mark
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.)
Active
Application number
CN201510043430.6A
Other languages
English (en)
Other versions
CN104572472A (zh
Inventor
吕晓昱
谢之波
姚琥
张虎
叶馥郁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN201510043430.6A priority Critical patent/CN104572472B/zh
Publication of CN104572472A publication Critical patent/CN104572472A/zh
Application granted granted Critical
Publication of CN104572472B publication Critical patent/CN104572472B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明实施例提供一种程序执行顺序诊断方法及系统,基于独立时钟的可编程逻辑器件,其中方法包括:获取处理器检测到的被诊断程序的下一程序阶段标志;判断是否在预定的时间窗内获取正确的下一程序阶段标志,若不是,判定被诊断程序执行顺序异常。通过本发明实施例提供的程序执行顺序诊断方法及系统,使对被诊断程序的程序执行顺序诊断更加可靠。

Description

一种程序执行顺序诊断方法与系统
技术领域
本发明涉及故障诊断技术领域,特别是涉及一种程序执行顺序诊断方法与系统。
背景技术
软件程序在运行的过程中可能会出现内部程序执行顺序异常的问题,当软件程序的程序执行顺序异常时,可能会造成系统不受外界电磁场干扰而使程序跑飞,使程序的正常运行被打断,或者由于软件自身设计问题出现内部越界、堆栈溢出、死锁等因素造成程序崩溃,这些都将可能导致软件程序在运行期出现不可预知的结果,对系统的确定性和安全性产生危害,为了避免这一危害的产生,需要系统能够诊断出程序的程序执行顺序是否异常。
目前,通常采用软件来对被诊断程序的程序执行顺序实施诊断,通过诊断软件监视被诊断程序的程序执行顺序,来判断被诊断程序的程序执行顺序是否异常,诊断软件可以检测到被诊断程序目前的执行顺序,通过检测得到的被诊断程序目前的执行顺序与正确的程序执行顺序相对比,来诊断被诊断程序各个阶段的运行顺序是否正确。如,诊断软件可检测到被诊断程序目前的执行顺序为启动后先运行第一阶段,第一阶段后运行第三阶段,而正确的程序执行顺序应该为启动后先运行第一阶段,第一阶段后运行第二阶段,由此,可以判断被诊断程序执行顺序出现问题。
由诊断软件监视被诊断程序的执行逻辑,来判断被诊断程序的程序执行顺序是否异常,虽然功能灵活,但是,由于诊断软件依赖系统主时钟,当系统主时钟出现错误的情况下,诊断软件将出现共因故障;另一方面,由于诊断软件其自身也为软件,其在处理器内运行时,也可能会出现内部程序执行顺序异常、程序崩溃等问题,若诊断软件自身出现异常,则无法正确地诊断出被诊断软件的程序顺序是否异常,使得程序执行顺序的诊断结果可靠性较低。
发明内容
有鉴于此,本发明实施例提供一种软硬件相结合的程序执行顺序诊断方法及系统,以解决现有技术中采用诊断软件来对被诊断程序的程序执行顺序进行诊断,而造成的诊断结果的可靠性较低的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种程序执行顺序诊断方法,基于独立时钟的可编程逻辑器件,包括:
获取处理器检测到的被诊断程序的下一程序阶段标志;
判断是否在预定的时间窗内获取正确的下一程序阶段标志,若不是,判定被诊断程序执行顺序异常。
其中,所述判断是否在预定时间窗内获取正确的下一程序阶段标志包括:
根据预先设置的各个程序阶段对应的执行时间窗判断是否为在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,若不是,则被诊断程序执行顺序异常。
和/或,根据预先设置的程序执行顺序逻辑关系判断程序执行顺序逻辑是否正确,若不正确,则判定被诊断程序执行顺序异常。
其中,所述根据预先设置的程序执行顺序逻辑关系判断程序执行顺序逻辑是否正确包括:
确定当前程序阶段标志,根据当前程序阶段标志和预先设置的程序执行顺序逻辑关系,确定正确的下一程序阶段标志;
判断获取的下一程序阶段标志和正确的下一程序阶段标志是否相同,若不同,则判定程序执行顺序逻辑不正确。
其中,所述程序执行顺序诊断方法还包括:
获取处理器检测到的被诊断程序的终止标志;若获取到终止标志,则停止诊断。
其中,获取系统处理器检测到的下一程序阶段标志后还包括:
确定已获取的程序阶段标志的数目;
判断已获取的程序阶段标志的数目是否大于预先设置的需检测的总阶段数,若大于,则停止诊断。
一种程序执行顺序诊断系统,包括获取模块和判断模块,其中,
所述获取模块,用于获取处理器检测到的被诊断程序的下一程序阶段标志;
所述判断模块,用于判断是否在预定时间窗内获取正确的下一程序阶段标志,若不是,判定被诊断程序执行顺序异常。
其中,所述程序执行顺序诊断系统还包括:
执行时间窗设置模块,用于设置各个程序阶段对应的执行时间窗;
其中,所述判断模块包括:
执行时间检测单元,用于根据预先设置的各个程序阶段对应的执行时间窗判断是否为在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,若不是,则判定被诊断程序执行顺序异常。
其中,所述程序执行顺序诊断系统还包括:
逻辑设置模块,用于设置程序执行顺序逻辑关系;
其中,所述判断模块包括:
逻辑检测单元,用于根据预先设置的程序执行顺序逻辑关系判断程序执行顺序逻辑是否正确,若不正确,则判定被诊断程序执行顺序异常。
其中,所述逻辑检测单元包括:标志确定子单元和逻辑判断子单元,其中,
所述标志确定子单元,用于确定当前程序阶段标志,根据当前程序阶段标志和预先设置的程序执行顺序逻辑关系,确定正确的下一程序阶段标志;
所述逻辑判断子单元,用于判断获取的下一程序阶段标志和正确的下一程序阶段标志是否相同,若不同,则判定程序执行顺序逻辑不正确。
其中,所述程序执行顺序诊断系统还包括:
阶段总数设置模块和阶段总数判断模块;
其中,所述阶段总数设置模块,用于设置需检测的总阶段数;
其中,所述阶段总数判断模块,用于确定已获取的程序阶段标志的数目,并判断已获取的程序阶段标志的数目是否大于预先设置的需检测的总阶段数,若大于,则停止工作。
基于上述技术方案,本发明实施例提供的程序执行顺序诊断方法及系统,基于独立时钟的可编程逻辑器件,通过可编程逻辑器件获取处理器检测到的被诊断程序中的下一程序阶段标志,可编程逻辑器件在获得处理器检测到的被诊断程序中的下一程序阶段标志后根据预先设置的各个程序阶段对应的执行时间窗,判断是否为在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,和/或,根据预先设置的程序执行顺序逻辑关系判断程序执行顺序逻辑是否正确,若可编程逻辑器件判定并非在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,和/或,可编程逻辑器件判定程序执行顺序逻辑不正确,则可编程逻辑器件都将会判定被诊断程序的执行顺序异常。由可编程逻辑器件来对被诊断程序的程序执行顺序进行诊断,由于可编程逻辑器件独立于系统之外,内部使用独立的时钟,不依赖系统主时钟,因此,避免系统主时钟出错情况下的共因故障,同时,由于可编程逻辑器件为硬件,使用硬件来对程序执行顺序进行诊断,也避免了现有技术中使用诊断软件来对被诊断程序执行顺序进行诊断而带来诊断软件本身的执行顺序逻辑错乱问题和程序崩溃问题,使对被诊断程序的程序执行顺序的诊断结果更加可靠。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的程序执行顺序诊断方法的流程图;
图2为本发明实施例提供的程序执行顺序诊断方法中判断获取的下一程序阶段标志是否正确的方法流程图;
图3为本发明实施例提供的程序执行顺序诊断方法中判断获取的下一程序阶段标志是否正确的另一方法流程图;
图4为本发明实施例提供的程序执行顺序诊断方法中判断程序执行顺序逻辑是否正确的方法流程图;
图5为本发明实施例提供的程序执行顺序诊断方法的另一流程图;
图6为本发明实施例提供的程序执行顺序诊断方法中判断的获取的程序阶段是否超过总阶段数的方法流程图;
图7为本发明实施例提供的程序执行顺诊断系统的系统框图;
图8为本发明实施例提供的程序执行顺序诊断系统的另一系统框图;
图9为本发明实施例提供的程序执行顺序诊断系统的再一系统框图;
图10为本发明实施例提供的程序执行顺序诊断系统中逻辑检测单元的结构框图;
图11为本发明实施例提供的程序执行顺序诊断系统的又一系统框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的程序执行顺序诊断方法的流程图,该方法基于独立时钟的可编程逻辑器件来对被诊断程序的程序执行顺序进行诊断,使对被诊断程序的程序执行顺序的诊断结果更加可靠,参照图1,该程序执行顺序诊断方法可以包括:
步骤S100:获取处理器检测到的被诊断程序的下一程序阶段标志;
被诊断程序为一个软件程序,而软件程序实质为存储于系统存储器内的一段程序代码,当系统内处理器调用系统存储器内被诊断程序对应的程序代码,并运行该段程序代码时,被诊断程序运行。一般软件程序均具有多个的程序阶段,不同的程序阶段在存储器中分别有其相对应的程序代码,越是复杂功能越多的软件程序拥有的程序阶段便越多。
下一程序阶段,是指被诊断程序当前正在运行的程序阶段的下一个程序阶段,即当前程序阶段运行结束后处理器将运行的下一个程序阶段。下一程序阶段标志,为用来表示处理器将运行的下一程序阶段的一个或一段标志代码,设被诊断程序的当前程序阶段为第一程序阶段,第一程序阶段标志为1,第二程序阶段标志为2,那么,若可编程逻辑器件获取到处理器在检测到的第一程序阶段标志1,那么便可知道被诊断软件的下一程序阶段为第二程序阶段,即被诊断软件在运行完第一程序阶段后将会进入第二程序阶段。
可选的,若当前程序阶段为被诊断程序总程序阶段中的最后一个程序阶段,那么,可以设定当前程序阶段的下一程序阶段为总程序阶段中的第一个程序阶段。如,被诊断程序拥有7个程序阶段,分别为第一程序阶段到第七程序阶段,按照第一程序阶段运行完成后运行第二程序阶段,再运行第三程序阶段,直到第七程序阶段的运行完成,那么当前程序阶段为第七程序阶段时,可以设置第七程序阶段的下一程序阶段为第一程序阶段,即使被诊断软件在运行完第七程序阶段后进入第一程序阶段,使被诊断程序可以被循环重复诊断,提高诊断的可靠性。
可选的,可以在当前程序阶段的预定位置处设置一个检测点,在该检测点出设置下一程序阶段标志,也可以说,是在存储器中当前程序阶段对应的程序代码的预定位置处设置一段包含有下一程序阶段标志的检测程序代码。当处理器运行当前程序阶段,执行到检测程序代码时,处理器将检测到其中的下一程序标志,并将该当前程序阶段检测点处检测到的下一程序阶段标志发送给可编程逻辑器件,再由可编程逻辑器件对被诊断程序的程序执行顺序进行诊断。
可选的,可以将当前程序阶段的检测点设置在当前程序运行结束之后的位置,即可以在存储器当前程序阶段对应的完整程序代码之后设置检测程序代码,也就是说,处理器在运行完当前程序阶段后再开始检测下一程序阶段标志;也可以将当前程序阶段的检测点设置在当前程序运行过程中的某个预定位置,即可以在存储器当前程序阶段对应的完整程序代码中插入检测程序代码,即处理器在还未完全运行完当前程序阶段时便开始检测下一程序阶段标志。
选择在当前程序阶段的检测点处检测下一程序阶段对应的下一程序阶段标志,可以有效地预防被检测软件程序执行顺序现象的发生,在当前程序阶段的检测点处检测到下一程序阶段标志,若该下一程序阶段标志不正确,那么便可在被检测程序还未进行该不正确的下一程序阶段之前,即在运行该不正确的下一程序阶段之前便可发现程序执行顺序异常,使可以在被诊断程序出现程序执行顺异常故障之前便使该执行顺序异常的被检测软件停止运行,有效地防止了系统奔溃等危害系统确定性和安全性的现象发生。
而若在当前程序阶段的检测点处检测到当前程序阶段标志或上一程序阶段标志或是更早之前的程序阶段标志,那么检测到的程序阶段标志所对应的程序阶段均已经被处理器执行过,若检测到的程序阶段标志不正确,确定了被诊断程序的程序执行顺序异常,但是此时被诊断程序已经按照错误的执行顺序运行下去,程序执行顺序错误已经发生,在诊断被诊断程序时仍给系统的确定性和安全性产生了危害。
可选的,可编程逻辑器件可以通过数据接口获取处理器检测到的被诊断程序的下一程序阶段标志。
可选的,可以在编程逻辑器件内设置阶段标志寄存器,用来存放处理器检测到下一程序阶段标志,阶段标志寄存器的容量应该足够容纳被诊断程序所有的程序阶段标志,使被诊断程序可以顺利完成对被诊断程序的程序执行顺序的诊断。可选的,还可以在当前程序阶段的检测点处设置终止标志,当获取到处理器检测到的终止标志时,终止对被诊断程序的诊断。
可选的,可以在可编程逻辑器件内设置阶段总数寄存器,用于设置被检测程序需检测的总阶段数,其中,阶段总数寄存器可设置的总阶段数的最大值是由可编程逻辑器件的逻辑容量来决定的,可编程逻辑器件的逻辑容量越大,则阶段总数寄存器可设置的总阶段数的最大值则越大。在获取系统处理器检测到的下一程序阶段标志后,确定已获取的程序阶段标志的数目,若已获取的程序阶段标志的数目大于预先设置的需检测的总阶段数,则停止对被诊断程序的诊断。
可选的,可以设置阶段总数寄存器可设置的总阶段数的最大值为16。
步骤S110:判断是否在预定的时间窗内获取正确的下一程序阶段标志;
可选的,判断是否在预定的时间窗内获取正确的下一程序阶段标志可以包括,根据预先设置的各个程序阶段对应的执行时间窗判断是否为在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志;若没有在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,那么,则判定被诊断程序执行顺序异常。
其中,需要说明的是,当不是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志时,可以确定被诊断程序执行顺序异常;而,若是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,则无法完全确定被诊断程序执行顺序是否异常,仍然需要对被诊断程序进行进一步的诊断。
可选的,可以通过处理器在可编程逻辑器件内预先设置各个程序阶段对应的执行时间窗,即通过软件程序在可编程逻辑器件内预先设置程序阶段对应的执行时间窗。
可选的,具有设置各个程序阶段对应的执行时间窗软件的设备可通过数据线接口与可编程逻辑器件连接,从而在可编程逻辑器件中设置各个程序阶段对应的执行时间窗。
可选的,预先设置在可编程逻辑器件内的各个程序阶段对应的执行时间窗可以包括最大时间和最小时间两个参数,其中,设置的最大时间参数的数值应该大于设置的最小时间参数的数值。
可选的,可以在设置了执行时间窗后对设置的执行时间窗进行检测,判定是否所有的执行时间窗中设置的最大时间参数的数值均大于设置的最小时间参数的数值。
可选的,对同一个被诊断程序,在设置了可编程逻辑器件内各个程序阶段对应的执行时间窗后,便对设置的各个执行时间窗内的参数不再做更改,以消除诊断过程中的不确定因素。
可选的,可以在完成了所有程序阶段对应的执行时间窗的设置后,再对各个程序阶段对应的执行时间窗进行检测;也可以在对某个程序阶段对应的执行时间窗进行设置后,立即对该程序阶段对应的执行时间窗进行检测,检测完成后在对另一程序阶段对应的执行时间窗的进行设置,直到所有的执行时间窗设置且检测完成。
可选的,可以在可编程逻辑器件检测到当前程序阶段对应的当前程序阶段标志后,控制可编程逻辑器件内部的时钟开始计时,当可编程逻辑器件检测到下一程序阶段对应的下一程序阶段标志后,控制可编程逻辑器件内部的时钟停止计时,确定检测到当前程序阶段对应的当前程序阶段标志与检测到下一程序阶段对应的下一程序阶段标志之间的计时时间,判断所得的计时时间是否大于或等于执行时间窗内设置的最小时间,且小于或等于执行时间窗内设置的最大时间,若是,则认为是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志;若不是,则认为不是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志。
其中,需要说明的是,可编程逻辑器件内部的时钟,在一个位于可编程逻辑器件内部的独立时钟,该独立时钟不依赖于系统主时钟,使用可编程逻辑器件内部的时钟可以有效地避免诊断程序执行顺序时因为使用系统主时钟,而在出错情况下的共因故障,加强了程序执行顺诊断的可靠性。
可选的,确定检测到当前程序阶段对应的当前程序阶段标志与检测到下一程序阶段对应的下一程序阶段标志之间的计时时间,可以是,每次检测当前程序阶段对应的当前程序阶段标志时记录时钟的时间,检测到下一程序阶段对应的下一程序阶段标志时再记录时钟的时间,计算两次记录的时钟时间之间的时间差值,所得时间差值即为所需得到的检测到当前程序阶段对应的当前程序阶段标志与检测到下一程序阶段对应的下一程序阶段标志之间的计时时间。
可选的,确定检测到当前程序阶段对应的当前程序阶段标志与检测到下一程序阶段对应的下一程序阶段标志之间的计时时间,也可以是,每次确定当前程序阶段对应的当前程序阶段标志与下一程序阶段对应的下一程序阶段标志之间的计时时间后,将时钟的计时器清零,在确定获取下一程序阶段对应的下一程序阶段标志与下下一程序阶段对应的下下一程序阶段标志之间的计时时间时重新开始计时,即每次停止计时后将时钟的计时器清零,每次开始计时时,时钟计时器的计时从零开始计时,那么每次在计时器清零之前,停止计时时计数器上的时间即为所需的计时时间。
可选的,判断是否在预定的时间窗内获取正确的下一程序阶段标志可以包括,根据预先设置的程序执行顺序逻辑关系判断程序执行顺序逻辑是否正确,若程序执行顺序逻辑不正确,那么,则判定被诊断程序执行顺序异常。
其中,需要说明的是,当程序执行顺序逻辑不正确时,可以确定被诊断程序执行顺序异常;而若程序执行顺序逻辑正确,则无法完全确定被诊断程序执行顺序是否异常,仍然需要对被诊断程序进行进一步的诊断。
可选的,可通过处理器在可编程逻辑器件内预先设置程序执行顺序逻辑关系,即通过软件程序在可编程逻辑器件内预先设置程序执行顺序逻辑关系。
可选的,具有设置程序执行顺序逻辑关系软件的设备可通过数据线接口与可编程逻辑器件连接,从而在可编程逻辑器件中设置程序执行顺序逻辑关系;具有设置程序执行顺序逻辑关系软件的设备还可以通过无线网络通信的方式,与可编程逻辑器件连接,从而在可编程逻辑器件中设置程序执行顺序逻辑关系。
可选的,对同一个被诊断程序,在设置了被诊断程序的程序执行顺序逻辑关系后,便不再允许对被诊断程序的程序执行顺序逻辑关系做更改,以消除诊断过程中的不确定因素
可选的,可以通过预先设置的程序执行顺序逻辑关系,和获取的当前程序阶段标志来判断程序执行顺序逻辑是否正确。在确定了预先设置的程序执行顺序逻辑关系且获取了当前程序阶段标志后,可以根据被诊断程序的程序执行顺序逻辑关系,得到满足程序执行顺序逻辑关系的下一程序阶段标志,称该满足预先设置程序执行顺序逻辑关系的下一程序阶段标志为正确的下一程序阶段标志。在得出了正确的下一程序阶段标志后,通过将得到的正确的下一程序阶段标志与获取的下一程序阶段标志相比较,若获取的下一程序阶段标志与正确的下一程序阶段标志的相同,则说明程序执行顺序正常;若获取的下一程序阶段标志与正确的下一程序阶段标志的不相同,则说明程序执行顺序不正常。
步骤S120:若不是,判定被诊断程序执行顺序异常。
当根据预先设置的各个程序阶段对应的执行时间窗判定不是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志时,和当根据预先设置的程序执行顺序逻辑关系判定被诊断程序的程序执行顺序逻辑不正确时,此两种情况中的一种情况发生或两种情况均发生时都认为被诊断程序执行顺序异常。
只有当根据预先设置的各个程序阶段对应的执行时间窗判定是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志时,和当根据预先设置的程序执行顺序逻辑关系判定被诊断程序的程序执行顺序逻辑正确时,两种情况均发生时,才可认为被诊断程序执行顺序没有异常,若只发生其中的一种情况,即判定是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,同时判定被诊断程序的程序执行顺序逻辑不正确时,和判定被诊断程序的程序执行顺序逻辑正确,同时判定不是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志时,认为被诊断程序执行顺序异常。
可选的,可以在可编程逻辑器件可设置报警装置,当判定程序执行顺序异常后,可编程逻辑内的报警装置进行报错。可选的,可以在判定程序执行顺序异常后将内部时钟的计时器清零。
基于上述技术方案,本发明实施例提供的程序执行顺序诊断方法及系统,基于独立时钟的可编程逻辑器件,通过可编程逻辑器件获取处理器检测到的被诊断程序中的下一程序阶段标志,可编程逻辑器件在获得处理器检测到的被诊断程序中的下一程序阶段标志后根据预先设置的各个程序阶段对应的执行时间窗判断是否为在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,和根据预先设置的程序执行顺序逻辑关系判断程序执行顺序逻辑是否正确,若可编程逻辑器件判定并非在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,和/或可编程逻辑器件判定程序执行顺序逻辑不正确,则可编程逻辑器件都将会判定被诊断程序的执行顺序异常。由可编程逻辑器件来对被诊断程序的程序执行顺序进行诊断,由于可编程逻辑器件独立于系统之外,内部使用独立的时钟,不依赖系统主时钟,因此,避免系统主时钟出错情况下的共因故障,同时,由于可编程逻辑器件为硬件,使用硬件来对程序执行顺序进行诊断,也避免了现有技术中使用诊断软件来对被诊断程序执行顺序进行诊断而带来诊断软件本身的执行顺序逻辑错乱问题和程序崩溃问题,使对被诊断程序的程序执行顺序诊断更加可靠。
可选的,图2示出了本发明实施例提供的程序执行顺序诊断方法中判断是否在预定的时间窗内获取正确的下一程序阶段标志的方法流程图,参照图2,判断获取的下一程序阶段标志是否正确的方法包括:
步骤S200:确定预先设置的各个程序阶段对应的执行时间窗;
确定各个程序阶段对应的执行时间窗,主要是确定各个程序阶段对应的执行时间窗中的最大时间和最小时间两个参数。而各个程序阶段对应的执行时间窗在诊断被诊断程序之前便已经设置在可编程逻辑器件的内部,若在诊断被诊断程序之前没有对程序阶段对应的执行时间窗进行设置,则对被诊断程序的诊断将无法进行。
可选的,可以通过处理器在可编程逻辑器件内预先设置各个程序阶段对应的执行时间窗,即通过软件程序在可编程逻辑器件内预先设置各个程序阶段对应的执行时间窗,当使用软件程序在可编程逻辑器件内预先设置各个程序阶段对应的执行时间窗时,装有设置各个程序阶段对应的执行时间窗软件的设备可通过数据线接口或无线网络通信等方式与可编程逻辑器件进行连接,来在可编程逻辑器件中设置各个程序阶段对应的执行时间窗。
对同一个被诊断程序,在设置了可编程逻辑器件内各个程序阶段对应的执行时间窗后,便对设置的各个执行时间窗内的参数不再做更改,以消除诊断过程中的不确定因素。
步骤S210:判断是否为在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志;
可选的,可以在可编程逻辑器件检测到当前程序阶段对应的当前程序阶段标志后,控制可编程逻辑器件内部的时钟开始计时,当可编程逻辑器件检测到下一程序阶段对应的下一程序阶段标志后,控制可编程逻辑器件内部的时钟停止计时,确定检测到当前程序阶段对应的当前程序阶段标志与检测到下一程序阶段对应的下一程序阶段标志之间的计时时间,判断所得的计时时间是否大于或等于执行时间窗内设置的最小时间,且小于或等于执行时间窗内设置的最大时间,来判断是否为在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志。
若所得的计时时间大于或等于执行时间窗内设置的最小时间参数,且小于或等于执行时间窗内设置的最大时间参数,则判定为是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志;若所得的计时时间小于最小时间参数,或所得的计时时间大于最大时间参数,则判定为不是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志。
由于对检测到当前程序阶段对应的当前程序阶段标志与检测到下一程序阶段对应的下一程序阶段标志之间的计时时间是通过可编程逻辑器件内部的时钟来得到的,而可编程逻辑器件内部的时钟,是一个不依赖于系统主时钟的独立时钟,使用可编程逻辑器件内部的时钟来得到检测到当前程序阶段标志与检测到下一程序阶段标志之间的计时时间,可以有效地避免诊断程序执行顺序时因为使用系统主时钟,而在出错情况下的共因故障,加强了程序执行顺诊断的可靠性。
步骤S220:若不是,则判定被诊断程序执行顺序异常。
若确定不是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,则认为被诊断程序执行顺序异常;其中,需要说明的是,若确定是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,则无法完全确定被诊断程序执行顺序是否异常,仍然需要对被诊断程序进行进一步的诊断。
可选的,图3示出了本发明实施例提供的程序执行顺序诊断方法中判断获取的下一程序阶段标志是否正确的另一方法流程图,参照图3,判断获取的下一程序阶段标志是否正确的另一方法包括:
步骤S300:确定预先设置的程序执行顺序逻辑关系;
确定程序执行顺序逻辑关系,即为确定被诊断程序在程序执行顺序没有异常时,各个程序阶段的正常执行顺序。可选的,对一个具有3个程序阶段——第一程序阶段、第二程序阶段和第三程序阶段的被诊断程序,可以设置该被诊断程序的程序执行顺序逻辑关系为第一程序阶段执行完成后执行第二程序阶段,第二程序阶段执行完成后执行第三程序阶段。
其中,程序执行顺序逻辑关系在诊断被诊断程序之前便已经设置在可编程逻辑器件的内部,若在诊断被诊断程序之前没有对被诊断程序的程序执行顺序逻辑关系进行设置,则无法进行对被诊断程序的诊断。
可选的,可以通过处理器在可编程逻辑器件内预先设置被诊断程序的程序执行顺序逻辑关系,即通过软件程序在可编程逻辑器件内预先设置被诊断程序的程序执行顺序逻辑关系,当使用软件程序在可编程逻辑器件内预先设置被诊断程序的程序执行顺序逻辑关系时,装有设置各个程序阶段对应的执行时间窗软件的设备可通过数据线接口或无线网络通信等方式与可编程逻辑器件进行连接,来在可编程逻辑器件中设置各个程序阶段对应的执行时间窗。
对同一个被诊断程序,在设置了可编程逻辑器件内各个程序阶段对应的执行时间窗后,便对设置的各个执行时间窗内的参数不再做更改,以消除诊断过程中的不确定因素。
步骤S310:判断程序执行顺序逻辑是否正确;
可选的,对一个具有3个程序阶段——第一程序阶段、第二程序阶段和第三程序阶段的被诊断程序,可以设置的程序执行顺序逻辑关系为第一程序阶段执行完成后执行第二程序阶段,第二程序阶段执行完成后执行第三程序阶段,设第一程序阶段对应的程序阶段标志为1,第二程序阶段对应的程序阶段标志为2,第三程序阶段对应的程序阶段标志为3,
那么,当获取到程序阶段标志1后,再获取到程序阶段标志2,那么便认为“第一程序阶段执行完成后执行第二程序阶段”此段程序执行顺序逻辑没有异常,当在获取到程序阶段标志2后,再获取到程序阶段标志3,那么便认为“第二程序阶段执行完成后执行第三程序阶段”此段程序执行顺序逻辑正确,只有当获取到程序阶段标志1后,再获取到程序阶段标志2,之后在获取到程序阶段标志3时,才可判定程序执行顺序逻辑正确;在获取到程序阶段标志1后获取到任意的非程序阶段标志2的程序阶段标志,或是在获取的程序阶段标志2后获取到任意的非程序阶段标志3的程序阶段标志,都将认为程序执行顺序逻辑不正确。
其中,需要说明的是,若第一程序阶段为被诊断程序的第一个程序阶段,即被诊断程序运行后第一个执行的程序阶段,那么在上述的判断先执行第一程序阶段,第一程序阶段执行完成后执行第二程序阶段,第二程序阶段执行完成后执行第三程序阶段执行的程序执行顺序逻辑是否正确时,无需先获取程序阶段标志1,只需要直接获取程序阶段标志2,判断获取的程序阶段标志是否为2,再执行之后的动作。
步骤S320:若不正确,则判定被诊断程序执行顺序异常。
若被诊断程序的程序执行顺序逻辑不正确,那么则认为被诊断程序执行顺序异常;需要说明的是,若被诊断程序的程序执行顺序逻辑正确,则无法完全确定被诊断程序执行顺序是否异常,仍然需要对被诊断程序进行进一步的诊断。
当被诊断程序的程序执行顺序逻辑正确,且可编程逻辑器件是在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志时,才可判定被诊断程序执行顺序没有异常。
可选的,可以通过预先设置的程序执行顺序逻辑关系,和获取的当前程序阶段标志来判断程序执行顺序逻辑是否正确。在确定了预先设置的程序执行顺序逻辑关系且获取了当前程序阶段标志后,可以根据被诊断程序的程序执行顺序逻辑关系,得到满足程序执行顺序逻辑关系的下一程序阶段标志,称该满足预先设置程序执行顺序逻辑关系的下一程序阶段标志为正确的下一程序阶段标志。在得出了正确的下一程序阶段标志后,通过将得到的正确的下一程序阶段标志与获取的下一程序阶段标志相比较,若获取的下一程序阶段标志与正确的下一程序阶段标志的相同,则说明程序执行顺序逻辑正常;若获取的下一程序阶段标志与正确的下一程序阶段标志的不相同,则说明程序执行顺序逻辑不正常。
可选的,图4示出了本发明实施例提供的程序执行顺序诊断方法中判断程序执行顺序逻辑是否正确的方法流程图,参照图4,判断程序执行顺序逻辑是否正确的方法包括:
步骤S400:确定当前程序阶段标志;
其中,当前程序阶段,是指被诊断程序当前正在运行的程序阶段,而当前程序阶段标志是指,为用来表示处理器将运行的下一程序阶段的一个或一段标志代码。
步骤S410:根据当前程序阶段标志和预先设置的程序执行顺序逻辑关系,确定正确的下一程序阶段标志;
可选的,对一个具有3个程序阶段——第一程序阶段、第二程序阶段和第三程序阶段的被诊断程序,可以设置的程序执行顺序逻辑关系为第一程序阶段执行完成后执行第二程序阶段,第二程序阶段执行完成后执行第三程序阶段,设第一程序阶段对应的程序阶段标志为1,第二程序阶段对应的程序阶段标志为2,第三程序阶段对应的程序阶段标志为3。那么,若确定的当前程序阶段标志为1,便可确定正确的下一程序阶段标志为2,若确定的当前程序阶段标志为2,便可确定正确的下一程序阶段标志为3。
步骤S420:判断获取的下一程序阶段标志和正确的下一程序阶段标志是否相同;
可选的,当前程序阶段标志为1,确定正确的下一程序阶段标志为2时,若获取的程序阶段标志也为2,那么获取的下一程序阶段标志和正确的下一程序阶段标志相同,若获取的程序阶段标志不为2,那么获取的下一程序阶段标志和正确的下一程序阶段标志不相同;同理,当当前程序阶段标志为2,确定正确的下一程序阶段标志为3时,若获取的程序阶段标志也为3,那么获取的下一程序阶段标志和正确的下一程序阶段标志相同,若获取的程序阶段标志不为3,那么获取的下一程序阶段标志和正确的下一程序阶段标志不相同。
步骤S430:若不同,则判定程序执行顺序逻辑不正确。
可选的,若被诊断程序没有出现程序执行顺序异常故障时,其在当前程序阶段为第一程序阶段后执行的下一程序阶段为第二程序阶段,即其在获取到当前程序标志1后正确的下一程序阶段标志为2,若获取的下一程序阶段标志不2,则认为可编程逻辑器件在第一程序阶段执行完成后将执行第二程序阶段,程序执行顺序逻辑没有异常;若获取的下一程序阶段标志不为2,便认为可编程逻辑器件在第一程序阶段执行完成后并没有执行第二程序阶段,程序执行顺序逻辑出现异常。
可选的,在检测点处还可以设置终止标志,在程序执行顺序的诊断流程中,当需要终止对被诊断程序程序执行顺序的诊断时,在存储器的检测点处写入终止标志,处理器检测到该终止标志后发送给可编程逻辑器件,可编程逻辑器件获取到处理器检测到的终止标志后终止对被诊断程序程序执行顺序的诊断。
可选的,图5示出了本发明实施例提供的程序执行顺序诊断方法的另一流程图,参照图5,该方法包括:
步骤S500:获取处理器检测到的被诊断程序的终止标志;
终止标志可以设置在任意程序阶段的监测点处。
步骤S510:停止诊断。
可选的,可以设置被诊断程序的终止标志为255,当处理器获取的终止标志255后,将终止标志255发送给可编程逻辑器件,可编程逻辑器件获取到终止标志255后终止对被诊断程序的诊断。
设置终止标志使可以主动接受程序执行顺序的诊断,当程序出现多种功能不同故障时,设置终止标志使可以主动结束程序执行顺序的诊断,可以有效避免不同故障之间产生混乱而影响程序故障的定位。
可选的,可以在内设置一个阶段总数寄存器,用于设置被检测程序需检测的总阶段数,若已获取的程序阶段标志的数目大于预先设置的需检测的总阶段数,则停止对被诊断程序的诊断。
可选的,图6示出了本发明实施例提供的程序执行顺序诊断方法中判断的获取的程序阶段是否超过总阶段数的方法流程图,参照图6,判断的获取的程序阶段是否超过总阶段数的方法包括:
步骤S600:确定已获取的程序阶段标志的数目;
步骤S610:判断已获取的程序阶段标志的数目是否大于预先设置的需检测的总阶段数;
需检测的总阶段数在诊断被诊断程序之前便已经设置在可编程逻辑器件的内部。
可选的,可以设置阶段总数寄存器可设置的总阶段数的最大值为16
步骤S620:若大于,则停止诊断。
设置被检测程序需检测的总阶段数,若已获取的程序阶段标志的数目大于预先设置的需检测的总阶段数,停止对被诊断程序的诊断,可以有效地避免可编程逻辑器件对被诊断程序的反复诊断。
本发明实施例提供的程序执行顺诊断方法,基于可编程逻辑器件来对被诊断程序的程序执行顺序进行诊断,使对被诊断程序的程序执行顺序诊断更加可靠。
下面对本发明实施例提供的程序执行顺诊断系统进行介绍,下文描述的程序执行顺诊断系统与上文描述的程序执行顺诊断方法可相互对应参照。
图7为本发明实施例提供的程序执行顺诊断系统的系统框图,参照图7该程序执行顺序诊断系统可以包括:获取模块100和判断模块200,其中,
获取模块100,用于获取处理器检测到的被诊断程序的下一程序阶段标志;
判断模块200,用于判断是否在预定时间窗内获取正确的下一程序阶段标志,若不是,判定被诊断程序执行顺序异常。
可选的,图8示出了本发明实施例提供的程序执行顺序诊断系统的另一系统框图,参照图8,该程序执行顺序诊断系统还可以包括:
执行时间窗设置模块300,用于设置各个程序阶段对应的执行时间窗;
判断模块200包括:
执行时间检测单元210,用于根据预先设置的各个程序阶段对应的执行时间窗判断是否为在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,若不是,则被诊断程序执行顺序异常。
可选的,图9示出了本发明实施例提供的程序执行顺序诊断系统的再一系统框图,参照图9,该程序执行顺序诊断系统还可以包括:
逻辑设置模块400,用于设置程序执行顺序逻辑关系;
判断模块200包括:
逻辑检测单元220,用于根据预先设置的程序执行顺序逻辑关系判断程序执行顺序逻辑是否正确,若不正确,则判定被诊断程序执行顺序异常。
可选的,图10示出了本发明实施例提供的程序执行顺序诊断系统中逻辑检测单元220的结构框图,参照图10,该逻辑检测单元220可以包括:标志确定子单元221和逻辑判断子单元222,其中,
标志确定子单元221,用于确定当前程序阶段标志,根据当前程序阶段标志和预先设置的程序执行顺序逻辑关系,确定正确的下一程序阶段标志;
逻辑判断子单元222,用于判断获取的下一程序阶段标志和正确的下一程序阶段标志是否相同,若不同,则判定程序执行顺序逻辑不正确。
可选的,图11示出了本发明实施例提供的程序执行顺序诊断系统的又一系统框图,参照图11,该程序执行顺序诊断系统还可以包括:阶段总数设置模块500和阶段总数判断模块600,其中,
阶段总数设置模块500,用于设置需检测的总阶段数;
阶段总数判断模块600,用于确定已获取的程序阶段标志的数目,并判断已获取的程序阶段标志的数目是否大于预先设置的需检测的总阶段数,若大于,则停止工作。
本发明实施例提供的程序执行顺诊断系统,基于可编程逻辑器件来对被诊断程序的程序执行顺序进行诊断,使对被诊断程序的程序执行顺序诊断更加可靠。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种程序执行顺序诊断方法,其特征在于,基于独立时钟的可编程逻辑器件,包括:
获取处理器检测到的被诊断程序的下一程序阶段标志;所述被诊断程序为软件程序;
判断是否在预定的时间窗内获取正确的下一程序阶段标志,若不是,判定被诊断程序执行顺序异常;
其中,所述判断是否在预定时间窗内获取正确的下一程序阶段标志包括:
根据预先设置的各个程序阶段对应的执行时间窗判断是否为在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,若不是,则被诊断程序执行顺序异常;
和/或,根据预先设置的程序执行顺序逻辑关系判断程序执行顺序逻辑是否正确,若不正确,则判定被诊断程序执行顺序异常。
2.根据权利要求1所述的程序执行顺序诊断方法,其特征在于,所述根据预先设置的程序执行顺序逻辑关系判断程序执行顺序逻辑是否正确包括:
确定当前程序阶段标志,根据当前程序阶段标志和预先设置的程序执行顺序逻辑关系,确定正确的下一程序阶段标志;
判断获取的下一程序阶段标志和正确的下一程序阶段标志是否相同,若不同,则判定程序执行顺序逻辑不正确。
3.根据权利要求1所述的程序执行顺序诊断方法,其特征在于,还包括:
获取处理器检测到的被诊断程序的终止标志;若获取到终止标志,则停止诊断。
4.根据权利要求1所述的程序执行顺序诊断方法,其特征在于,获取系统处理器检测到的下一程序阶段标志后还包括:
确定已获取的程序阶段标志的数目;
判断已获取的程序阶段标志的数目是否大于预先设置的需检测的总阶段数,若大于,则停止诊断。
5.一种程序执行顺序诊断系统,其特征在于,基于独立时钟的可编程逻辑器件,包括获取模块和判断模块,其中,
所述获取模块,用于获取处理器检测到的被诊断程序的下一程序阶段标志;
所述判断模块,用于判断是否在预定时间窗内获取正确的下一程序阶段标志,若不是,判定被诊断程序执行顺序异常;
其中,所述程序执行顺序诊断系统还包括:
执行时间窗设置模块,用于设置各个程序阶段对应的执行时间窗;
所述判断模块包括:
执行时间检测单元,用于根据预先设置的各个程序阶段对应的执行时间窗判断是否为在下一程序阶段对应的执行时间窗内获取到下一程序阶段标志,若不是,则判定被诊断程序执行顺序异常;
和/或,所述程序执行顺序诊断系统还包括:
逻辑设置模块,用于设置程序执行顺序逻辑关系;
所述判断模块包括:
逻辑检测单元,用于根据预先设置的程序执行顺序逻辑关系判断程序执行顺序逻辑是否正确,若不正确,则判定被诊断程序执行顺序异常。
6.根据权利要求5所述的程序执行顺序诊断系统,其特征在于,所述逻辑检测单元包括:标志确定子单元和逻辑判断子单元,其中,
所述标志确定子单元,用于确定当前程序阶段标志,根据当前程序阶段标志和预先设置的程序执行顺序逻辑关系,确定正确的下一程序阶段标志;
所述逻辑判断子单元,用于判断获取的下一程序阶段标志和正确的下一程序阶段标志是否相同,若不同,则判定程序执行顺序逻辑不正确。
7.根据权利要求5所述的程序执行顺序诊断系统,其特征在于,所述程序执行顺序诊断系统还包括:阶段总数设置模块和阶段总数判断模块,其中,
所述阶段总数设置模块,用于设置需检测的总阶段数;
所述阶段总数判断模块,用于确定已获取的程序阶段标志的数目,并判断已获取的程序阶段标志的数目是否大于预先设置的需检测的总阶段数,若大于,则停止工作。
CN201510043430.6A 2015-01-28 2015-01-28 一种程序执行顺序诊断方法与系统 Active CN104572472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510043430.6A CN104572472B (zh) 2015-01-28 2015-01-28 一种程序执行顺序诊断方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510043430.6A CN104572472B (zh) 2015-01-28 2015-01-28 一种程序执行顺序诊断方法与系统

Publications (2)

Publication Number Publication Date
CN104572472A CN104572472A (zh) 2015-04-29
CN104572472B true CN104572472B (zh) 2018-03-06

Family

ID=53088604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510043430.6A Active CN104572472B (zh) 2015-01-28 2015-01-28 一种程序执行顺序诊断方法与系统

Country Status (1)

Country Link
CN (1) CN104572472B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108205490B (zh) * 2016-12-19 2021-05-14 比亚迪股份有限公司 软件看门狗测试方法和装置
CN106650421B (zh) * 2016-12-27 2020-04-28 中国民生银行股份有限公司 程序处理方法、装置及设备
CN108595336A (zh) * 2018-05-07 2018-09-28 襄阳市尚贤信息科技有限公司 一种基于以太网的计算机软件测试系统
CN111474913B (zh) * 2019-01-23 2021-07-20 北京新能源汽车股份有限公司 一种程序运行监测方法、装置及电动汽车
CN110187663B (zh) * 2019-06-19 2020-11-03 浙江中控技术股份有限公司 监控方法和装置
CN110727263B (zh) * 2019-10-31 2021-02-26 南方电网调峰调频发电有限公司 一种设备动作顺序异常及监控信号抖动状态的检修方法
CN115964249A (zh) * 2022-12-29 2023-04-14 苏州市欧冶半导体有限公司 一种嵌入式系统软件拦截程序设计系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1619500A (zh) * 2003-08-07 2005-05-25 国际商业机器公司 用于跨数据处理系统和平台使软件执行同步的系统和方法
CN101320349A (zh) * 2007-06-05 2008-12-10 国际商业机器公司 标识用于获取代表性踪迹的指令的系统与方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101112041A (zh) * 2005-02-28 2008-01-23 日本电气株式会社 通信系统、通信装置、通信方法以及程序
US8335946B2 (en) * 2005-11-21 2012-12-18 GM Global Technology Operations LLC Method for centralization of process sequence checking
CN101029918B (zh) * 2007-01-23 2011-03-16 北京芯技佳易微电子科技有限公司 一种基于可编程器件的可控集成电路测试系统及方法
CN101159498B (zh) * 2007-11-07 2010-12-29 中兴通讯股份有限公司 一种射频硬件模块的测试方法
CN101246448A (zh) * 2008-03-17 2008-08-20 中兴通讯股份有限公司 一种自动化脚本实现方法
CN101673233B (zh) * 2008-09-12 2011-08-03 英业达股份有限公司 测试项目的排程方法及其排程系统
DE102009047724A1 (de) * 2009-12-09 2011-06-16 Endress + Hauser Wetzer Gmbh + Co Kg Verfahren zur Programmlaufkontrolle
EP2469364A1 (de) * 2010-12-23 2012-06-27 Siemens Aktiengesellschaft Verfahren zum Erkennen eines Programmablaufs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1619500A (zh) * 2003-08-07 2005-05-25 国际商业机器公司 用于跨数据处理系统和平台使软件执行同步的系统和方法
CN101320349A (zh) * 2007-06-05 2008-12-10 国际商业机器公司 标识用于获取代表性踪迹的指令的系统与方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于程序执行状态图的软件测试方法研究;何允如 等;《计算机工程与应用》;20020930(第18期);全文 *

Also Published As

Publication number Publication date
CN104572472A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104572472B (zh) 一种程序执行顺序诊断方法与系统
US6996751B2 (en) Method and system for reduction of service costs by discrimination between software and hardware induced outages
CN103646208B (zh) 一种eMMC的监控方法及装置
CN109117327A (zh) 一种硬盘检测方法及装置
CN108398915A (zh) 控制装置以及其控制方法
CN109733238B (zh) 故障检测方法、装置、存储介质及处理器
CN106643808A (zh) 一种星敏感器在轨数据多级故障诊断方法
CN104459556A (zh) 电池系统故障诊断方法及装置
CN106559288A (zh) 一种基于icmp报文的快速故障检测方法
US10613963B2 (en) Intelligent packet analyzer circuits, systems, and methods
CN103870349B (zh) 用于数据处理系统的配置管理装置及方法
CN111159051B (zh) 死锁检测方法、装置、电子设备及可读存储介质
US9993301B2 (en) Method and system for monitoring a reprocessing device for endoscopes
CN109131937A (zh) 一种分布式无人机自动检测系统及方法
US6715103B1 (en) Automatic fault diagnostic network system and automatic fault diagnostic method for networks
CN109857615A (zh) 一种内存泄漏的检测方法及装置
CN109634796A (zh) 一种计算机的故障诊断方法、装置及系统
CN109614280A (zh) 一种存储设备的状态测试方法
CN107543595B (zh) 用于运行流量测量仪的方法和流量测量仪
CN109388516A (zh) 具有非侵入式自测试的处理器
CN105564301B (zh) 一种带倒车雷达自动诊断的汽车音响系统及其诊断方法
CN109522200A (zh) 一种提高多储存盘阵列稳定性的测试方法,系统及终端
US11347914B1 (en) System and method for automatic performance analysis in an electronic circuit design
CN109344003A (zh) 电子设备系统自修复方法、装置、设备及介质
CN114638149B (zh) 一种基于卷积的故障诊断方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant