CN108984383A - 程序跑飞的检测方法、装置及家用电器 - Google Patents

程序跑飞的检测方法、装置及家用电器 Download PDF

Info

Publication number
CN108984383A
CN108984383A CN201710400846.8A CN201710400846A CN108984383A CN 108984383 A CN108984383 A CN 108984383A CN 201710400846 A CN201710400846 A CN 201710400846A CN 108984383 A CN108984383 A CN 108984383A
Authority
CN
China
Prior art keywords
program
function
run
fleet
current value
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
Application number
CN201710400846.8A
Other languages
English (en)
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.)
Wuhu Midea Kitchen and Bath Appliances Manufacturing Co Ltd
Original Assignee
Wuhu Midea Kitchen and Bath Appliances Manufacturing Co Ltd
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 Wuhu Midea Kitchen and Bath Appliances Manufacturing Co Ltd filed Critical Wuhu Midea Kitchen and Bath Appliances Manufacturing Co Ltd
Priority to CN201710400846.8A priority Critical patent/CN108984383A/zh
Publication of CN108984383A publication Critical patent/CN108984383A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明公开了一种程序跑飞的检测方法、装置及家用电器,所述方法包括以下步骤:在程序运行的过程中,获取程序中的一个或多个函数;当函数被运行时,获取函数中的指定变量的当前值,并判断指定变量的当前值是否为预设值;如果指定变量的当前值不为预设值,则判断程序存在跑飞风险。本发明实施例的方法,能够在程序运行的过程中,有效地检测该程序是否存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。

Description

程序跑飞的检测方法、装置及家用电器
技术领域
本发明涉及家用电器技术领域,特别涉及一种程序跑飞的检测方法、一种非临时性计算机可读存储介质、一种程序跑飞的检测装置和一种家用电器。
背景技术
目前家电中使用的MCU(Micro Control Unit,微控制单元)控制的电控器越来越多,在使用芯片时,通常MCU内部的PC指针有一定的几率会不正常,即程序跑飞的情况,如果PC指针没有按照我们预先编写的程序跳转到正确地址上,则会造成严重的后果,甚至可能危及用户的人生安全。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种程序跑飞的检测方法,能够在程序运行的过程中,有效地检测该程序是否存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。
本发明的第二个目的在于提出一种非临时性计算机可读存储介质。
本发明的第三个目的在于提出一种程序跑飞的检测装置。
本发明的第四个目的在于提出一种家用电器。
为达到上述目的,本发明第一方面实施例提出了一种程序跑飞的检测方法,包括以下步骤:在程序运行的过程中,获取所述程序中的一个或多个函数;当所述函数被运行时,获取所述函数中的指定变量的当前值,并判断所述指定变量的当前值是否为预设值;如果所述指定变量的当前值不为所述预设值,则判断所述程序存在跑飞风险。
根据本发明实施例的程序跑飞的检测方法,在程序运行的过程中,首先获取程序中的一个或多个函数,当该函数被运行时,获取该函数中的指定变量的当前值,并判断该指定变量的当前值是否为预设值,如果指定变量的当前值不为预设值,则判断程序存在跑飞风险。由此,该方法能够在程序运行的过程中,有效地检测该程序是否存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。
另外,根据本发明上述实施例提出的程序跑飞的检测方法还可以具有如下附加的技术特征:
在本发明的一个实施例中,在判断所述程序存在跑飞风险时,关闭继电器,并执行复位程序。
在本发明的一个实施例中,在判断所述程序存在跑飞风险时,发出报警提示。
在本发明的一个实施例中,在程序运行的过程中,还初始化所述指定变量。
在本发明的一个实施例中,所述获取所述程序中的一个或多个函数,具体包括:获取指向所述函数的地址,并根据所述地址获取所述函数。
为达到上述目的,本发明第二方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-5中任一所述的程序跑飞的检测方法。
本发明实施例的非临时性计算机可读存储介质,在程序运行的过程中,首先获取程序中的一个或多个函数,当该函数被运行时,获取该函数中的指定变量的当前值,并判断该指定变量的当前值是否为预设值,如果指定变量的当前值不为预设值,则判断程序存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。
为达到上述目的,本发明第三方面实施例提出了一种程序跑飞的检测装置,包括:获取模块,所述获取模块用于在程序运行的过程中,获取所述程序中的一个或多个函数;第一判断模块,所述第一判断模块用于当所述函数被运行时,获取所述函数中的指定变量的当前值,并判断所述指定变量的当前值是否为预设值;第二判断模块,所述第二判断模块用于在所述指定变量的当前值不为所述预设值时,判断所述程序存在跑飞风险。
根据本发明实施例的程序跑飞的检测装置,在程序运行的过程中,通过获取模块获取程序中的一个或多个函数,并在该函数被运行时,通过第一判断模块获取该函数中的指定变量的当前值,以及判断该指定变量的当前值是否为预设值,且在该指定变量的当前值不为预设值时,通过第二判断模块判断该程序存在跑飞风险。由此,该装置能够在程序运行的过程中,有效地检测该程序是否存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。
另外,根据本发明上述实施例提出的程序跑飞的检测装置还可以具有如下附加的技术特征:
在本发明的一个实施例中,所述第二判断模块,还用于:在判断所述程序存在跑飞风险时,关闭继电器,并执行复位程序。
在本发明的一个实施例中,所述第二判断模块,还用于:在判断所述程序存在跑飞风险时,发出报警提示。
在本发明的一个实施例中,所述获取模块,还用于:在程序运行的过程中,初始化所述指定变量。
在本发明的一个实施例中,所述获取模块,具体用于:获取指向所述函数的地址,并根据所述地址获取所述函数。
为了实现上述目的,本发明第四方面实施例提出的一种家用电器包括:本发明第三方面实施例的程序跑飞的检测装置。
本发明实施例的家用电器,通过上述程序跑飞的检测装置,能够在程序运行的过程中,有效地检测该程序是否存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是根据本发明一个实施例的程序跑飞的检测方法的流程图。
图2是根据本发明一个实施例的程序跑飞的检测装置的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面结合附图来描述本发明实施例的程序跑飞的检测方法、装置及家用电器。
图1是根据本发明一个实施例的程序跑飞的检测方法的流程图。在本发明的实施例中,程序的载体可以是家用电器,例如,电热水器、电冰箱、电视机、微波炉和电磁炉等。
如图1所示,本发明实施例的程序跑飞的检测方法包括以下步骤:
S1,在程序运行的过程中,获取程序中的一个或多个函数。其中,函数可为预知存放地址的函数。
在本发明的一个实施例中,获取程序中的一个或多个函数,具体包括:获取指向函数的地址,并根据地址获取函数。
为了便于对本发明的描述,以电热水器作为该程序的载体为例来进行说明。其中,当电热水器运行该程序时,首先需要从电热水器的PC(Program Counter,程序计数器)中获取一个或多个(即,读出)指向函数的地址,即,PC指针(例如,预知存放的地址),然后在该地址指定相应的子函数。例如,电热水器可分别在两个特殊的地址(0xAAAA)和(0xD555)指定两个子函数f_PC_Function_Step1()和f_PC_Function_Step2()。应说明的是,函数f_PC_Function_Step1()和f_PC_Function_Step2()的功能均可操作特定的数据(u8PcFunctionCheckValue),即下述的指定变量。
需要说明的是,该实施例中所描述的PC是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。
S2,当函数被运行时,获取函数中的指定变量的当前值,并判断指定变量的当前值是否为预设值。其中,预设值可根据实际情况进行标定,例如,该预设值能以代码的形式插入到上述程序相关的位置中,以便于检测PC指针是否已经执行过预知存放地址的函数。应说明的是,本发明的实施例中的预设值可为程序正常数据以外的任意值。其中,预设值可为0xAA或0x55。
S3,如果指定变量的当前值不为预设值,则判断程序存在跑飞风险。
例如,电热水器在运行该程序的过程中,当函数f_PC_Function_Step1()或f_PC_Function_Step2()被调用时(),电热水器检测指定变量(u8PcFunctionCheckValue)的当前的值是否为预设值。
具体地,如果函数f_PC_Function_Step1()被调用,则可判断指定变量(u8PcFunctionCheckValue)的当前的值是否为0xAA。如果指定变量的当前值为0xAA,则说明函数f_PC_Function_Step1()访问成功,即PC被正确位置;如果指定变量的当前值不为0xAA,则说明函数f_PC_Function_Step1()访问失败,即程序存在跑飞风险。如果函数f_PC_Function_Step2()被调用,则可判断指定变量(u8PcFunctionCheckValue)的当前的值是否为0x55。如果指定变量的当前值为0x55,则说明函数f_PC_Function_Step1()访问成功(PC指针可以正确寻址调用CODE区存放程序代码),即PC被正确位置;如果指定变量的当前值不为0x55,则说明函数f_PC_Function_Step1()访问失败,即程序存在跑飞风险。
为了减少程序代码的编辑量,提高程序代码的可读性,以及提高程序代码编译的速度,在本发明的一个实施例中,在程序运行的过程中,还初始化指定变量。
例如,在函数f_PC_Function_Step1()和函数f_PC_Function_Step2()之外初始化定义一个公共的指定变量(u8PcFunctionCheckValue)。
为使本领域技术人员更清楚地了解本发明,以个调用程序中2个函数f_PC_Function_Step1()和函数f_PC_Function_Step2()为例来说明本发明的程序跑飞的检测方法,具体如下所示:
当main()函数调用f_PC_Function_Test()函数时,首先初始化定义一个String变量u8PcFunctionCheckValue(指定变量),然后运行f_PC_Function_Step1()函数为u8PcFunctionCheckValue赋值,例如u8PcFunctionCheckValue=0xAA,再然后if()函数判断u8PcFunctionCheckValue的当前值是否不等于0xAA,如果是,则说明程序存在跑飞风险,需执行if()函数中的代码。如果否则不执行if()函数中的代码,并继续执行剩余的代码。
当运行f_PC_Function_Step2()函数时,再可次为u8PcFunctionCheckValue赋值,例如u8PcFunctionCheckValue=0x55,然后if()函数判断u8PcFunctionCheckValue的当前值是否不等于0x55,如果是,则说明程序存在跑飞风险,需执行if()函数中的代码。如果否则不执行if()函数中的代码,并继续执行剩余的代码。
需要说明的是,程序代码的运行是从上往下依次执行的,另外,在上述的实施例中,如果函数f_PC_Function_Step1()被调用则说明指向该函数的地址正确,即,预知存放的地址没有问题,即程序不会跑飞,而判断函数f_PC_Function_Step1()被调用的依据则是指定变量(u8PcFunctionCheckValue)的当前值与预设值之间的关系。
在本发明的其他实施例中,电热水器可控制程序交替调用函数f_PC_Function_Step1()和函数f_PC_Function_Step2(),以最大限度的检测该程序是否存在程序跑飞的风险。例如,在上述是实施例中加一个for(;;)循环将函数f_PC_Function_Test()嵌入该循环中。
综上所述,本发明实施例提供的程序跑飞的检测方法,能够在程序运行的过程中,有效地检测该程序是否存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。
另外,为了防止因程序跑飞造成该程序的载体损坏或者发生安全事故,在本发明的一个实施例中,在判断程序存在跑飞风险时,关闭继电器,并执行复位程序,同时发出报警提示。
例如,电热水器在运行程序的过程中,如果判断该程序存在跑飞风险时,可关闭该电热水器所有的继电器,并执行预先写入的复位程序,使电热水器恢复至未执行该程序时的状态。同时,发出报警提示,如声光报警提示,以对用户进行提醒。
综上,根据本发明实施例的程序跑飞的检测方法,在程序运行的过程中,首先获取程序中的一个或多个函数,当该函数被运行时,获取该函数中的指定变量的当前值,并判断该指定变量的当前值是否为预设值,如果指定变量的当前值不为预设值,则判断程序存在跑飞风险。由此,该方法能够在程序运行的过程中,有效地检测该程序是否存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。
另外,本发明的实施例还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的程序跑飞的检测方法。
本发明实施例的非临时性计算机可读存储介质,在程序运行的过程中,首先获取程序中的一个或多个函数,当该函数被运行时,获取该函数中的指定变量的当前值,并判断该指定变量的当前值是否为预设值,如果指定变量的当前值不为预设值,则判断程序存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。
图2是根据本发明一个实施例的程序跑飞的检测装置的方框示意图。在本发明的实施例中,程序的载体可以是家用电器,例如,电热水器、电冰箱、电视机、微波炉和电磁炉等。
如图2所示,本发明实施例的程序跑飞的检测装置包括:获取模块100、第一判断模块200和第二判断模块300。
其中,获取模块100用于在程序运行的过程中,获取程序中的一个或多个函数。其中,函数可为预知存放地址的函数。
在本发明的一个实施例中,获取模块100具体可用于获取指向函数的地址,并根据地址获取函数。
为了便于对本发明的描述,以电热水器作为该程序的载体为例来进行说明。其中,当电热水器运行该程序时,获取模块100首先需要从电热水器的PC中获取一个或多个(即,读出)指向函数的地址,即,PC指针(例如,预知存放的地址),然后在该地址指定相应的子函数。例如,获取模块100可分别在两个特殊的地址(0xAAAA)和(0xD555)指定两个子函数f_PC_Function_Step1()和f_PC_Function_Step2()。应说明的是,函数f_PC_Function_Step1()和f_PC_Function_Step2()的功能均可操作特定的数据(u8PcFunctionCheckValue),即下述的指定变量。
需要说明的是,该实施例中所描述的PC是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。
第一判断模块200用于当函数被运行时,获取函数中的指定变量的当前值,并判断指定变量的当前值是否为预设值。其中,预设值可根据实际情况进行标定,例如,该预设值能以代码的形式插入到上述程序相关的位置,以便于检测PC指针是否已经执行过预知存放地址的函数。应说明的是,本发明的实施例中的预设值可为程序正常数据以外的任意值。其中,预设值可为0xAA或0x55。
第二判断模块300用于在指定变量的当前值不为预设值时,判断程序存在跑飞风险。
例如,电热水器在运行该程序的过程中,当函数f_PC_Function_Step1()或f_PC_Function_Step2()被调用时(),第一判断模块200检测指定变量(u8PcFunctionCheckValue)的当前的值是否为预设值。
具体地,如果函数f_PC_Function_Step1()被调用,第一判断模块200则可判断指定变量(u8PcFunctionCheckValue)的当前的值是否为0xAA。如果指定变量的当前值为0xAA,第二判断模块300则判断函数f_PC_Function_Step1()访问成功,即PC被正确位置;如果指定变量的当前值不为0xAA,第二判断模块300则判断函数f_PC_Function_Step1()访问失败,即程序存在跑飞风险。如果函数f_PC_Function_Step2()被调用,第一判断模块200则可判断指定变量(u8PcFunctionCheckValue)的当前的值是否为0x55。如果指定变量的当前值为0x55,第二判断模块300则判断函数f_PC_Function_Step1()访问成功(PC指针可以正确寻址调用CODE区存放程序代码),即PC被正确位置;如果指定变量的当前值不为0x55,第二判断模块300则判断函数f_PC_Function_Step1()访问失败,即程序存在跑飞风险。
需要说明的是,程序代码的运行是从上往下依次执行的,另外,在上述的实施例中,如果函数f_PC_Function_Step1()被调用则说明指向该函数的地址正确,即,预知存放的地址没有问题,即程序不会跑飞,而判断函数f_PC_Function_Step1()被调用的依据则是指定变量(u8PcFunctionCheckValue)的当前值与预设值之间的关系。
为了减少程序代码的编辑量,提高程序代码的可读性,以及提高程序代码编译的速度,在本发明的一个实施例中,获取模块100还用于在程序运行的过程中,初始化指定变量。
例如,获取模块100可在函数f_PC_Function_Step1()和函数f_PC_Function_Step2()之外初始化定义一个公共的指定变量(u8PcFunctionCheckValue)。
在本发明的其他实施例中,电热水器可控制程序交替调用函数f_PC_Function_Step1()和函数f_PC_Function_Step2(),以最大限度的检测该程序是否存在程序跑飞的风险。
综上所述,本发明实施例提供的程序跑飞的检测装置,能够在程序运行的过程中,有效地检测该程序是否存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。
另外,为了防止因程序跑飞造成该程序的载体损坏或者发生安全事故,在本发明的一个实施例中,第二判断模块300还用于在判断程序存在跑飞风险时,关闭继电器,并执行复位程序,同时发出报警提示。
例如,电热水器在运行程序的过程中,如果判断该程序存在跑飞风险时,第二判断模块300可关闭该电热水器所有的继电器,并执行预先写入的复位程序,使电热水器恢复至未执行该程序时的状态。同时,第二判断模块300发出报警提示,如声光报警提示,以对用户进行提醒。
综上,根据本发明实施例的程序跑飞的检测装置,在程序运行的过程中,通过获取模块获取程序中的一个或多个函数,并在该函数被运行时,通过第一判断模块获取该函数中的指定变量的当前值,以及判断该指定变量的当前值是否为预设值,且在该指定变量的当前值不为预设值时,通过第二判断模块判断该程序存在跑飞风险。由此,该装置能够在程序运行的过程中,有效地检测该程序是否存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。
为了实现上述实施例,本发明还提出一种家用电器,其包括上述程序跑飞的检测装置。
本发明实施例的家用电器,通过上述程序跑飞的检测装置,能够在程序运行的过程中,有效地检测该程序是否存在跑飞风险,从而能够在判断该程序存在跑飞风险时采取有效措施,防止因程序跑飞造成该程序的载体损坏或者发生安全事故。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (12)

1.一种程序跑飞的检测方法,其特征在于,包括以下步骤:
在程序运行的过程中,获取所述程序中的一个或多个函数;
当所述函数被运行时,获取所述函数中的指定变量的当前值,并判断所述指定变量的当前值是否为预设值;
如果所述指定变量的当前值不为所述预设值,则判断所述程序存在跑飞风险。
2.如权利要求1所述的程序跑飞的检测方法,其特征在于,在判断所述程序存在跑飞风险时,关闭继电器,并执行复位程序。
3.如权利要求1所述的程序跑飞的检测方法,在判断所述程序存在跑飞风险时,发出报警提示。
4.如权利要求1所述的程序跑飞的检测方法,其特征在于,在程序运行的过程中,还初始化所述指定变量。
5.如权利要求1所述的程序跑飞的检测方法,其特征在于,所述获取所述程序中的一个或多个函数,具体包括:
获取指向所述函数的地址,并根据所述地址获取所述函数。
6.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的程序跑飞的检测方法。
7.一种程序跑飞的检测装置,其特征在于,包括:
获取模块,所述获取模块用于在程序运行的过程中,获取所述程序中的一个或多个函数;
第一判断模块,所述第一判断模块用于当所述函数被运行时,获取所述函数中的指定变量的当前值,并判断所述指定变量的当前值是否为预设值;
第二判断模块,所述第二判断模块用于在所述指定变量的当前值不为所述预设值时,判断所述程序存在跑飞风险。
8.如权利要求7所述的程序跑飞的检测装置,其特征在于,所述第二判断模块,还用于:
在判断所述程序存在跑飞风险时,关闭继电器,并执行复位程序。
9.如权利要求7所述的程序跑飞的检测装置,其特征在于,所述第二判断模块,还用于:
在判断所述程序存在跑飞风险时,发出报警提示。
10.如权利要求7所述的程序跑飞的检测装置,其特征在于,所述获取模块,还用于:
在程序运行的过程中,初始化所述指定变量。
11.如权利要求7所述的程序跑飞的检测装置,其特征在于,所述获取模块,具体用于:
获取指向所述函数的地址,并根据所述地址获取所述函数。
12.一种家用电器,其特征在于,包括如权利要求7-11中任一项所述的程序跑飞的检测装置。
CN201710400846.8A 2017-05-31 2017-05-31 程序跑飞的检测方法、装置及家用电器 Pending CN108984383A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710400846.8A CN108984383A (zh) 2017-05-31 2017-05-31 程序跑飞的检测方法、装置及家用电器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710400846.8A CN108984383A (zh) 2017-05-31 2017-05-31 程序跑飞的检测方法、装置及家用电器

Publications (1)

Publication Number Publication Date
CN108984383A true CN108984383A (zh) 2018-12-11

Family

ID=64501417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710400846.8A Pending CN108984383A (zh) 2017-05-31 2017-05-31 程序跑飞的检测方法、装置及家用电器

Country Status (1)

Country Link
CN (1) CN108984383A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115982057A (zh) * 2023-03-02 2023-04-18 杭州协能科技股份有限公司 程序指针故障检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477505A (zh) * 2002-08-24 2004-02-25 深圳市中兴通讯股份有限公司 嵌入式操作系统中异常故障定位方法
CN101034369A (zh) * 2006-03-10 2007-09-12 北京佳讯飞鸿电气有限责任公司 一种软件抗干扰方法及装置
CN101599042A (zh) * 2008-06-02 2009-12-09 松下电器产业株式会社 程序跑飞检测方法及其设备
CN102735323A (zh) * 2012-05-31 2012-10-17 福州科迪电子技术有限公司 防止电子秤使用过程中数据丢失的方法
CN104598357A (zh) * 2015-02-12 2015-05-06 兆讯恒达微电子技术(北京)有限公司 一种数据抗干扰保护方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477505A (zh) * 2002-08-24 2004-02-25 深圳市中兴通讯股份有限公司 嵌入式操作系统中异常故障定位方法
CN101034369A (zh) * 2006-03-10 2007-09-12 北京佳讯飞鸿电气有限责任公司 一种软件抗干扰方法及装置
CN101599042A (zh) * 2008-06-02 2009-12-09 松下电器产业株式会社 程序跑飞检测方法及其设备
CN102735323A (zh) * 2012-05-31 2012-10-17 福州科迪电子技术有限公司 防止电子秤使用过程中数据丢失的方法
CN104598357A (zh) * 2015-02-12 2015-05-06 兆讯恒达微电子技术(北京)有限公司 一种数据抗干扰保护方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115982057A (zh) * 2023-03-02 2023-04-18 杭州协能科技股份有限公司 程序指针故障检测方法

Similar Documents

Publication Publication Date Title
CN109137387A (zh) 洗衣机的控制方法、装置及洗衣机
CN109838778B (zh) 一种蒸汽发生器的自适应加水方法
CN106676831B (zh) 洗衣机的门锁状态检测方法、系统和洗衣机
CN109323389A (zh) 空调及用于空调的温度传感器的脱落检测方法和装置
CN109840199A (zh) 一种自动化测试方法及终端
CN109975488A (zh) 一种气味传感器的气味信号修正方法、存储介质及冰箱
CN108984383A (zh) 程序跑飞的检测方法、装置及家用电器
CN107423171A (zh) 基于pcie标准的插槽式功能扩展卡的检测方法及装置
CN108716083A (zh) 洗涤电器的水检测方法和洗涤电器
CN109284209A (zh) 一种Mcs系统下不同类型Vdisk的自动化测试方法
CN106199381A (zh) 变频空调主板的自动检测方法及装置
CN106547655A (zh) 侦测电路板上的内存条数量的方法及系统
CN109214169A (zh) 堆栈溢出检测方法、装置及家用电器
CN107220056A (zh) 一种自动加载服务器bios参数的方法
CN109423807A (zh) 滚筒洗衣机及其脱水时的泡沫检测方法和装置
CN105093096B (zh) 一种fpga的测试装置
CN106149281B (zh) 洗衣机及其故障检查方法
CN108755007A (zh) 一种洗衣机称重方法及洗衣机
CN110111710A (zh) 显示屏测试方法、装置、设备及计算机可读存储介质
CN107468191A (zh) 洗碗机进水检测方法和洗碗机
CN109933555B (zh) 一种外部板卡管理方法
CN105223447A (zh) 制冷设备的电性能检测方法及检测系统
CN105975322A (zh) 一种用于程序更新的装置、方法及微控制器
CN109239521A (zh) 接线检测方法和装置
CN106371996B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181211