CN113568775A - 程序异常捕获方法、装置、设备及可读存储介质 - Google Patents

程序异常捕获方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN113568775A
CN113568775A CN202110864373.3A CN202110864373A CN113568775A CN 113568775 A CN113568775 A CN 113568775A CN 202110864373 A CN202110864373 A CN 202110864373A CN 113568775 A CN113568775 A CN 113568775A
Authority
CN
China
Prior art keywords
exception
program
application program
type
information
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
CN202110864373.3A
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.)
Wuhan Tianyu Information Industry Co Ltd
Original Assignee
Wuhan Tianyu Information Industry 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 Wuhan Tianyu Information Industry Co Ltd filed Critical Wuhan Tianyu Information Industry Co Ltd
Priority to CN202110864373.3A priority Critical patent/CN113568775A/zh
Publication of CN113568775A publication Critical patent/CN113568775A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种程序异常捕获方法、装置、设备及可读存储介质,该方法包括:在应用程序中设置N个异常处理器,其中,N为正整数;在应用程序运行中,每检测到一个异常处理器时,清空记录后再记录当前异常处理器对应的多个异常处理类型;当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;若存在,则获取当前异常处理器捕获的异常信息。通过本发明,当需要进行异常捕获时,不再需要去method组件中查找匹配相关的异常信息,当有异常信息出现时,应用程序中的异常处理器及时捕获异常信息,加快了捕获异常信息的速度,提高了捕获异常信息效率。

Description

程序异常捕获方法、装置、设备及可读存储介质
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种程序异常捕获方法、装置、设备及可读存储介质。
背景技术
目前,随着互联网技术的进步,电子设备被广泛的使用,应用程序(Application,app)在电子设备上的应用也越来越多。一般地,app在运行过程中发生异常时或者app崩溃时容易导致电子设备无法正常工作,通常采用关闭app以及对异常或崩溃信息进行收集以及分类的方式进行处理。
现有技术中,虚拟机的异常处理机制将异常相关信息定义在method组件中,当需要进行异常捕获时,虚拟机再去method组件中查找匹配相关的异常信息,导致捕获异常信息的速度慢,效率低。
发明内容
本发明的主要目的在于提供一种程序异常捕获方法、装置、设备及可读存储介质,旨在解决现有技术中捕获异常信息时速度慢,效率低的问题。
第一方面,本发明提供一种程序异常捕获方法,包括以下步骤:
在应用程序中设置N个异常处理器,其中,N为正整数;
在应用程序运行中,每检测到一个异常处理器时,清空记录后再记录当前异常处理器对应的多个异常处理类型;
当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;
若存在,则获取当前异常处理器捕获的异常信息。
可选的,所述当应用程序在运行中出现异常信息的步骤之后,还包括:
检测应用程序的第一调用程序是否是应用程序的入口调用层;
若是应用程序的入口调用层,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止;
若不是应用程序的入口调用层,则执行当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型的步骤。
可选的,所述检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型的步骤之后,还包括:
若不存在,则判断应用程序是否有第二调用程序,其中,第二调用程序不是应用程序的入口调用层;
若有,则运用应用程序的第二调用程序中的异常处理器捕获异常信息;
若没有,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止。
可选的,所述若有,则运用应用程序的第二调用程序中的异常处理器捕获异常信息的步骤包括:
若应用程序有第二调用程序,则检测在应用程序的第二调用程序中记录的多个异常处理类型对应的异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;
若存在,则获取应用程序的第二调用程序中的异常处理器捕获的异常信息。
可选的,所述获取当前异常处理器捕获的异常信息的步骤之后,还包括:
获取当前异常处理器捕获的异常信息后,根据当前异常处理器的目标异常处理类型对应的异常程序处理偏移进入异常信息处理流程。
第二方面,本发明还提供一种程序异常捕获装置,所述程序异常捕获装置包括:
设置模块:用于在应用程序中设置N个异常处理器,其中,N为正整数;
记录模块:用于在应用程序运行中,每检测到一个异常处理器时,清空记录后再记录当前异常处理器对应的多个异常处理类型;
检测模块:用于当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;
获取模块:用于若存在,则获取当前异常处理器捕获的异常信息。
可选的,检测模块,还用于:
检测应用程序的第一调用程序是否是应用程序的入口调用层;
若是应用程序的入口调用层,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止;
若不是应用程序的入口调用层,则执行当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型的步骤。
可选的,所述程序异常捕获装置还包括判断模块,用于:
若不存在,则判断应用程序是否有第二调用程序,其中,第二调用程序不是应用程序的入口调用层;
若有,则运用应用程序的第二调用程序中的异常处理器捕获异常信息;
若没有,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止。
第三方面,本发明还提供一种程序异常捕获设备,所述程序异常捕获设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的程序异常捕获程序,其中所述程序异常捕获程序被所述处理器执行时,实现如上所述的程序异常捕获方法的步骤。
第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有程序异常捕获程序,其中所述程序异常捕获程序被处理器执行时,实现如上所述的程序异常捕获方法的步骤。
本发明中,在应用程序中设置N个异常处理器,其中,N为正整数;在应用程序运行中,每检测到一个异常处理器时,清空记录后再记录当前异常处理器对应的多个异常处理类型;当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;若存在,则获取当前异常处理器捕获的异常信息。通过本发明,当需要进行异常捕获时,不再需要去method组件中查找匹配相关的异常信息,而是通过在应用程序中增加异常处理器的方式,当有异常信息出现时,应用程序中的异常处理器及时捕获异常信息,加快了捕获异常信息的速度,提高了捕获异常信息效率。
附图说明
图1为本发明实施例方案中涉及的程序异常捕获设备的硬件结构示意图;
图2为本发明程序异常捕获方法第一实施例的流程示意图;
图3为本发明程序异常捕获装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供一种程序异常捕获设备,该程序异常捕获设备可以是个人计算机(personal computer,PC)、笔记本电脑、服务器等具有数据处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的程序异常捕获设备的硬件结构示意图。本发明实施例中,程序异常捕获设备可以包括处理器1001(例如中央处理器CentralProcessing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及程序异常捕获程序。其中,处理器1001可以调用存储器1005中存储的程序异常捕获程序,并执行本发明实施例提供的程序异常捕获方法。
第二方面,本发明实施例提供了一种程序异常捕获方法。
一实施例中,参照图2,图2为本发明程序异常捕获方法第一实施例的流程示意图。如图2所示,程序异常捕获方法包括以下步骤:
S10:在应用程序中设置N个异常处理器,其中,N为正整数;
本实施例中,通过在应用程序中增加N个try语句从而设置N个异常处理器,其中,一个try块包括一个try语句和M个catch子句,N和M为正整数。容易想到的是,本实施例中,关键字try和catch仅供参考,在此不做限制。
S20:在应用程序运行中,每检测到一个异常处理器时,清空记录后再记录当前异常处理器对应的多个异常处理类型;
本实施例中,在应用程序运行中,每检测到一个异常处理器即每检测到一个try语句时,清空记录,通过跳转字节码跳转到try语句的信息处一次,执行一次try语句的信息处定义的信息处理字节码,获取一次try语句对应的异常处理程序偏移,记录一次try语句对应的异常处理程序偏移对应的异常处理类型。容易想到的是,本实施例中,关键字try和catch仅供参考,在此不做限制。
S30:当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;
本实施例中,当应用程序在运行中出现异常信息时,若当前异常处理器中有2个异常处理类型且被记录,则检测记录的这2个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型。
例如,若当前异常处理器中有A、B两个异常处理类型,且被记录。若A异常处理类型或B异常处理类型中的任意一个与异常信息的类型相同,则存在与异常信息的类型相同的目标异常处理类型,若A异常处理类型或B异常处理类型与异常信息的类型都不相同,则不存在与异常信息的类型相同的目标异常处理类型。容易想到的是,本实施例中,异常处理器中的异常处理类型个数仅供参考,在此不做限制。
S40:若存在,则获取当前异常处理器捕获的异常信息。
本实施例中,若当前异常处理器中有A、B两个异常处理类型,且被记录,则分别判断异常信息的类型对应的short型数值的高字节与A、B两个异常处理类型对应的short型数值的高字节是否相同。若当前异常处理器中的A异常处理类型对应的short型数值的高字节与异常信息的类型对应的short型数值的高字节相同,B异常处理类型对应的short型数值的高字节与异常信息的类型对应的short型数值的高字节不同,则A异常处理类型为目标异常处理类型,则记录的这2个异常处理类型对应的当前异常处理器中存在与异常信息的类型相同的目标异常处理类型,则获取当前异常处理器捕获的异常信息。若当前异常处理器中的B异常处理类型对应的short型数值的高字节与异常信息的类型对应的short型数值的高字节相同,A异常处理类型对应的short型数值的高字节与异常信息的类型对应的short型数值的高字节不同,则B异常处理类型为目标异常处理类型,则记录的这2个异常处理类型对应的当前异常处理器中存在与异常信息的类型相同的目标异常处理类型,则获取当前异常处理器捕获的异常信息。容易想到的是,本实施例中,异常处理器中的异常处理类型个数以及检测存在目标异常处理类型的方法仅供参考,在此不做限制。
本实施例中,在应用程序中设置N个异常处理器,其中,N为正整数;在应用程序运行中,每检测到一个异常处理器时,清空记录后再记录当前异常处理器对应的多个异常处理类型;当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;若存在,则获取当前异常处理器捕获的异常信息。通过本实施例,当需要进行异常捕获时,不再需要去method组件中查找匹配相关的异常信息,而是通过在应用程序中增加异常处理器的方式,当有异常信息出现时,应用程序中的异常处理器及时捕获异常信息,加快了捕获异常信息的速度,提高了捕获异常信息效率。
进一步地,一实施例中,当应用程序在运行中出现异常信息的步骤之后,还包括:
检测应用程序的第一调用程序是否是应用程序的入口调用层;
若是应用程序的入口调用层,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止;
若不是应用程序的入口调用层,则执行当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型的步骤。
本实施例中,入口调用层为运行应用程序时统一的入口,例如C语言中的main入口。当应用程序中出现异常信息时,若应用程序的第一调用程序是应用程序的入口调用层,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度对应用程序进行继续执行或终止的处理,不再执行当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型的步骤的步骤。若应用程序的第一调用程序不是应用程序的入口调用层,则执行当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型的步骤。
进一步地,一实施例中,所述检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型的步骤之后,还包括:
若不存在,则判断应用程序是否有第二调用程序,其中,第二调用程序不是应用程序的入口调用层;
若有,则运用应用程序的第二调用程序中的异常处理器捕获异常信息;
若没有,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止。
本实施例中,若当前异常处理器中有A、B两个异常处理类型,且被记录。若A异常处理类型或B异常处理类型对应的short型数值的高字节与异常信息的类型对应的short型数值的高字节都不相同,则不存在与异常信息的类型相同的目标异常处理类型。例如,若异常信息的类型对应的short型数值为0102,A异常处理类型对应的short型数值为0300,B异常处理类型对应的short型数值为0400,那么异常信息的类型对应的short型数值的高字节01与A异常处理类型对应的short型数值的高字节03不相同,与B异常处理类型对应的short型数值的高字节04也不相同,则记录的2个异常处理类型对应的当前异常处理器中不存在与异常信息的类型相同的目标异常处理类型,则判断应用程序是否有第二调用程序,其中,第二调用程序不是应用程序的入口调用层。若有,则应用程序被第二调用程序调用,按照步骤S10至步骤S40的方法运用应用程序的第二调用程序中的异常处理器捕获异常信息,若没有,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止。容易想到的是,本实施例中,异常处理器中的异常处理类型个数以及检测不存在目标异常处理类型的方法仅供参考,在此不做限制。
进一步地,一实施例中,所述若有,则运用应用程序的第二调用程序中的异常处理器捕获异常信息的步骤包括:
若应用程序有第二调用程序,则检测在应用程序的第二调用程序中记录的多个异常处理类型对应的异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;
若存在,则获取应用程序的第二调用程序中的异常处理器捕获的异常信息。
本实施例中,若应用程序有第二调用程序,则按照步骤S30和步骤S40的方法检测在应用程序的第二调用程序中记录的多个异常处理类型对应的异常处理器中是否存在与异常信息的类型相同的目标异常处理类型并获取应用程序的第二调用程序中的异常处理器捕获的异常信息。进一步地,若应用程序的第二调用程序中的异常处理器中不存在与异常信息的类型相同的目标异常处理类型,则检测应用程序的第二调用程序是否到达应用程序的入口调用层,若到达,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止,若没有达到,则检测第二调用程序是否有第三调用程序,其中第三调用程序调用第二调用程序且不是应用程序的入口调用层。
进一步地,一实施例中,所述获取当前异常处理器捕获的异常信息的步骤之后,还包括:
获取当前异常处理器捕获的异常信息后,根据当前异常处理器的目标异常处理类型对应的异常程序处理偏移进入异常信息处理流程。
本实施例中,获取当前异常处理器捕获的异常信息后,若当前异常处理器的目标异常处理类型对应的异常程序处理偏移为1,则进入异常捕获后待执行的代码段1的异常信息处理流程。若当前异常处理器的目标异常处理类型对应的异常程序处理偏移为2,则进入异常捕获后待执行的代码段2的异常信息处理流程。容易想到的是,本实施例中的异常程序处理偏移的数值仅供参考,在此不做限制。
第三方面,本发明实施例还提供一种程序异常捕获装置。
一实施例中,参照图3,图3为本发明程序异常捕获装置第一实施例的功能模块示意图。如图3所示,程序异常捕获装置包括:
设置模块10:用于在应用程序中设置N个异常处理器,其中,N为正整数;
记录模块20:用于在应用程序运行中,每检测到一个异常处理器时,清空记录后再记录当前异常处理器对应的多个异常处理类型;
检测模块30:用于当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;
获取模块40:用于若存在,则获取当前异常处理器捕获的异常信息。
进一步地,一实施例中,程序异常捕获装置还包括检测模块30,还用于:
检测应用程序的第一调用程序是否是应用程序的入口调用层;
若是应用程序的入口调用层,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止;
若不是应用程序的入口调用层,则执行当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型的步骤。
进一步地,一实施例中,程序异常捕获装置还包括判断模块,用于:
若不存在,则判断应用程序是否有第二调用程序,其中,第二调用程序不是应用程序的入口调用层;
若有,则运用应用程序的第二调用程序中的异常处理器捕获异常信息;
若没有,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止。
进一步地,一实施例中,检测模块30,还用于:
若应用程序有第二调用程序,则检测在应用程序的第二调用程序中记录的多个异常处理类型对应的异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;
若存在,则获取应用程序的第二调用程序中的异常处理器捕获的异常信息。
进一步地,一实施例中,程序异常捕获装置还包括处理模块,用于:
获取当前异常处理器捕获的异常信息后,根据当前异常处理器的目标异常处理类型对应的异常程序处理偏移进入异常信息处理流程。
其中,上述程序异常捕获装置中各个模块的功能实现与上述程序异常捕获方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
第四方面,本发明实施例还提供一种可读存储介质。
本发明可读存储介质上存储有程序异常捕获程序,其中所述程序异常捕获程序被处理器执行时,实现如上述的程序异常捕获方法的步骤。
其中,程序异常捕获程序被执行时所实现的方法可参照本发明程序异常捕获方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种程序异常捕获方法,其特征在于,所述程序异常捕获方法包括:
在应用程序中设置N个异常处理器,其中,N为正整数;
在应用程序运行中,每检测到一个异常处理器时,清空记录后再记录当前异常处理器对应的多个异常处理类型;
当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;
若存在,则获取当前异常处理器捕获的异常信息。
2.如权利要求1所述的程序异常捕获方法,其特征在于,所述当应用程序在运行中出现异常信息的步骤之后,还包括:
检测应用程序的第一调用程序是否是应用程序的入口调用层;
若是应用程序的入口调用层,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止;
若不是应用程序的入口调用层,则执行当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型的步骤。
3.如权利要求1所述的程序异常捕获方法,其特征在于,所述检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型的步骤之后,还包括:
若不存在,则判断应用程序是否有第二调用程序,其中,第二调用程序不是应用程序的入口调用层;
若有,则运用应用程序的第二调用程序中的异常处理器捕获异常信息;
若没有,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止。
4.如权利要求3所述的程序异常捕获方法,其特征在于,所述若有,则运用应用程序的第二调用程序中的异常处理器捕获异常信息的步骤包括:
若应用程序有第二调用程序,则检测在应用程序的第二调用程序中记录的多个异常处理类型对应的异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;
若存在,则获取应用程序的第二调用程序中的异常处理器捕获的异常信息。
5.如权利要求1所述的程序异常捕获方法,其特征在于,所述获取当前异常处理器捕获的异常信息的步骤之后,还包括:
获取当前异常处理器捕获的异常信息后,根据当前异常处理器的目标异常处理类型对应的异常程序处理偏移进入异常信息处理流程。
6.一种程序异常捕获装置,其特征在于,所述程序异常捕获装置包括:
设置模块:用于在应用程序中设置N个异常处理器,其中,N为正整数;
记录模块:用于在应用程序运行中,每检测到一个异常处理器时,清空记录后再记录当前异常处理器对应的多个异常处理类型;
检测模块:用于当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型;
获取模块:用于若存在,则获取当前异常处理器捕获的异常信息。
7.如权利要求6所述的程序异常捕获装置,其特征在于,检测模块,还用于:
检测应用程序的第一调用程序是否是应用程序的入口调用层;
若是应用程序的入口调用层,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止;
若不是达应用程序的入口调用层,则执行当应用程序在运行中出现异常信息时,检测记录的多个异常处理类型对应的当前异常处理器中是否存在与异常信息的类型相同的目标异常处理类型的步骤。
8.如权利要求6所述的程序异常捕获装置,其特征在于,所述程序异常捕获装置还包括判断模块,用于:
若不存在,则判断应用程序是否有第二调用程序,其中,第二调用程序不是应用程序的入口调用层;
若有,则运用应用程序的第二调用程序中的异常处理器捕获异常信息;
若没有,则由入口调用层根据应用程序中出现的异常信息的类型的严重程度判断应用程序继续执行还是终止。
9.一种程序异常捕获设备,其特征在于,所述程序异常捕获设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的程序异常捕获程序,其中所述程序异常捕获程序被所述处理器执行时,实现如权利要求1至5中任一项所述的程序异常捕获方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序异常捕获程序,其中所述程序异常捕获程序被处理器执行时,实现如权利要求1至5中任一项所述的程序异常捕获方法的步骤。
CN202110864373.3A 2021-07-29 2021-07-29 程序异常捕获方法、装置、设备及可读存储介质 Pending CN113568775A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110864373.3A CN113568775A (zh) 2021-07-29 2021-07-29 程序异常捕获方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110864373.3A CN113568775A (zh) 2021-07-29 2021-07-29 程序异常捕获方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN113568775A true CN113568775A (zh) 2021-10-29

Family

ID=78168975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110864373.3A Pending CN113568775A (zh) 2021-07-29 2021-07-29 程序异常捕获方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113568775A (zh)

Similar Documents

Publication Publication Date Title
US9117078B1 (en) Malware behavior analysis and policy creation
US10481964B2 (en) Monitoring activity of software development kits using stack trace analysis
US8943592B1 (en) Methods of detection of software exploitation
EP2065825A1 (en) Apparatus and method for detecting DLL inserted by malicious code
EP2701092A1 (en) Method for identifying malicious executables
US20130239214A1 (en) Method for detecting and removing malware
US20200012793A1 (en) System and Method for An Automated Analysis of Operating System Samples
US8739283B1 (en) Automatic generation of malware clean pattern
JP6711000B2 (ja) 情報処理装置、ウィルス検出方法及びプログラム
CN103778373A (zh) 病毒检测方法及装置
CN109889511B (zh) 进程dns活动监控方法、设备及介质
CN111435391A (zh) 自动确定gui中待交互的交互式gui元素的方法和设备
CN113709147B (zh) 网络安全事件的响应方法、装置及设备
CN112395603B (zh) 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备
CN110691090B (zh) 网站检测方法、装置、设备及存储介质
CN114328168A (zh) 异常检测方法、装置、计算机设备和存储介质
JP2010134536A (ja) パタンファイル更新システム、パタンファイル更新方法、及びパタンファイル更新プログラム
CN109784054B (zh) 行为堆栈信息获取方法及装置
CN114531340B (zh) 日志获取方法、装置、电子设备、芯片及存储介质
CN113568775A (zh) 程序异常捕获方法、装置、设备及可读存储介质
CN110377499B (zh) 一种对应用程序进行测试的方法及装置
CN112580038A (zh) 反病毒数据的处理方法、装置及设备
CN115495737A (zh) 恶意程序失效方法、装置、设备及存储介质
CN113032100A (zh) 一种异常处理方法、装置、设备及存储介质
CN113076540B (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