CN111597093B - 一种异常处理方法、装置及其设备 - Google Patents

一种异常处理方法、装置及其设备 Download PDF

Info

Publication number
CN111597093B
CN111597093B CN201910127001.5A CN201910127001A CN111597093B CN 111597093 B CN111597093 B CN 111597093B CN 201910127001 A CN201910127001 A CN 201910127001A CN 111597093 B CN111597093 B CN 111597093B
Authority
CN
China
Prior art keywords
abnormal
data
control information
data corresponding
sub
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
CN201910127001.5A
Other languages
English (en)
Other versions
CN111597093A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910127001.5A priority Critical patent/CN111597093B/zh
Publication of CN111597093A publication Critical patent/CN111597093A/zh
Application granted granted Critical
Publication of CN111597093B publication Critical patent/CN111597093B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种异常处理方法、装置及其设备,该方法包括:获取应用程序运行过程中产生的异常对象;根据所述异常对象确定所述应用程序对应的原始数据的异常位置;根据所述异常位置在所述原始数据中添加控制信息;根据所述控制信息输出与所述异常位置对应的异常数据。通过本申请的技术方案,可以获知异常数据,并利用异常数据分析异常原因,减少用户工作量。

Description

一种异常处理方法、装置及其设备
技术领域
本申请涉及互联网技术领域,尤其涉及一种异常处理方法、装置及其设备。
背景技术
APM(Application Performance Management,应用性能管理)是一种通过对应用程序进行即时监控,以实现应用程序的性能管理以及故障管理的解决方案。具体的,APM能够对应用程序进行监控和优化,例如,能够监控应用程序在运行过程中的信息,如CPU(Central Processing Unit,中央处理器)使用率、QPS(Queries Per Second,每秒查询率)、日志等信息,从而提高应用程序的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本,并提高竞争力。
在对应用程序进行监控的过程中,一旦应用程序出现异常,则会产生异常日志,维护人员可以通过异常日志分析异常原因。但是,维护人员分析异常原因的工作量比较大,可能无法准确分析出异常原因,用户体验比较差。
发明内容
本申请提供一种异常处理方法,所述方法包括:
获取应用程序运行过程中产生的异常对象;
根据所述异常对象确定所述应用程序对应的原始数据的异常位置;
根据所述异常位置在所述原始数据中添加控制信息;
根据所述控制信息输出与所述异常位置对应的异常数据。
本申请提供一种异常处理方法,所述方法包括:
获取应用程序运行过程中产生的异常日志;其中,所述异常日志包括所述应用程序对应的原始数据中发生异常的数据行;
从所述原始数据中查询与所述数据行对应的子数据,在所述子数据中添加控制信息,所述控制信息用于指示输出与所述子数据对应的局部变量;
根据所述控制信息输出与所述子数据对应的局部变量。
本申请提供一种异常处理装置,所述装置包括:
获取模块,用于获取应用程序运行过程中产生的异常对象;
确定模块,用于根据所述异常对象确定所述应用程序对应的原始数据的异常位置;
添加模块,用于根据所述异常位置在所述原始数据中添加控制信息;
输出模块,用于根据所述控制信息输出与所述异常位置对应的异常数据。
本申请提供一种异常处理设备,所述设备包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取应用程序运行过程中产生的异常对象;
根据所述异常对象确定所述应用程序对应的原始数据的异常位置;
根据所述异常位置在所述原始数据中添加控制信息;
根据所述控制信息输出与所述异常位置对应的异常数据。
基于上述技术方案,本申请实施例中,可以根据异常对象确定原始数据的异常位置,根据异常位置在原始数据中添加控制信息,根据控制信息输出与异常位置对应的异常数据(即用于分析异常原因的异常数据),这样,维护人员可以直接获知异常数据,并利用异常数据分析异常原因,而不是通过异常日志分析异常原因,能够准确分析异常原因,及时的修复异常问题,减少用户的工作量,用户体验比较好。上述方式能够快速得到异常数据,排查异常发生的详细过程,直接查看真实运行的异常数据,真正反应线上错误的执行过程。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1是本申请一种实施方式中的异常处理方法的流程图;
图2是本申请另一种实施方式中的异常处理方法的流程图;
图3是本申请一种实施方式中的应用场景示意图;
图4是本申请另一种实施方式中的异常处理方法的流程图;
图5是本申请一种实施方式中的局部变量示意图;
图6是本申请一种实施方式中的异常处理装置的结构图;
图7是本申请一种实施方式中的异常处理设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种异常处理方法,该方法可以应用于任意设备(如服务器等),参见图1所示,为该方法的流程示意图,该方法可以包括:
步骤101,获取应用程序运行过程中产生的异常对象。
步骤102,根据该异常对象确定该应用程序对应的原始数据的异常位置。
步骤103,根据该异常位置在该原始数据中添加控制信息。
具体的,若该异常位置包括发生异常的数据行,则可以从该原始数据中查询与该数据行对应的子数据,并在该子数据中添加该控制信息。
在一个例子中,在该子数据中添加该控制信息,可以包括但不限于:在该子数据的前面添加该控制信息;或者,在该子数据的后面添加该控制信息。
步骤104,根据该控制信息输出与该异常位置对应的异常数据。
具体的,在执行与该应用程序对应的原始数据的过程中,若执行到该控制信息,则可以获取与该异常位置对应的异常数据,然后,可以输出该异常数据;其中,该控制信息可以用于指示输出与异常位置对应的异常数据。
在一个例子中,获取与该异常位置对应的异常数据,可以包括但不限于:若该异常位置包括发生异常的数据行,则可以从该原始数据中查询与该数据行对应的子数据,然后,可以获取与该子数据对应的异常数据。
在一个例子中,根据该控制信息输出与该异常位置对应的异常数据,可以包括但不限于:若该异常位置包括发生异常的数据行,则根据该控制信息输出与该异常位置对应的异常数据、该数据行、与该原始数据对应的参数信息。
在上述实施例中,异常对象包括异常日志;异常数据包括局部变量。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,可以根据异常对象确定原始数据的异常位置,根据异常位置在原始数据中添加控制信息,根据控制信息输出与异常位置对应的异常数据(即用于分析异常原因的异常数据),这样,维护人员可以直接获知异常数据,并利用异常数据分析异常原因,而不是通过异常日志分析异常原因,能够准确分析异常原因,及时的修复异常问题,减少用户的工作量,用户体验比较好。上述方式能够快速得到异常数据,排查异常发生的详细过程,直接查看真实运行的异常数据,真正反应线上错误的执行过程。
基于与上述方法同样的申请构思,本申请实施例中还提出另一种异常处理方法,参见图2所示,为该方法的流程示意图,该方法可以包括:
步骤201,获取应用程序运行过程中产生的异常日志;其中,该异常日志可以包括该应用程序对应的原始数据中发生异常的数据行。
步骤202,从该原始数据中查询与该数据行对应的子数据,在该子数据中添加控制信息,该控制信息用于指示输出与该子数据对应的局部变量。
在一个例子中,在该子数据中添加控制信息,可以包括但不限于:在该子数据的前面添加该控制信息;或者,在该子数据的后面添加该控制信息。
步骤203,根据该控制信息输出与该子数据对应的局部变量。
具体的,在执行与该应用程序对应的原始数据的过程中,若执行到该控制信息,则可以获取与该子数据对应的局部变量,并输出该局部变量。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,可以根据异常对象确定原始数据的异常位置,根据异常位置在原始数据中添加控制信息,根据控制信息输出与异常位置对应的异常数据(即用于分析异常原因的异常数据),这样,维护人员可以直接获知异常数据,并利用异常数据分析异常原因,而不是通过异常日志分析异常原因,能够准确分析异常原因,及时的修复异常问题,减少用户的工作量,用户体验比较好。上述方式能够快速得到异常数据,排查异常发生的详细过程,直接查看真实运行的异常数据,真正反应线上错误的执行过程。
以下结合具体的应用场景,对上述异常处理方法进行进一步的说明。
参见图3所示,为本申请实施例的应用场景示意图。其中,应用客户端可以是终端设备(如智能终端、笔记本电脑、PC(PersonalComputer,个人计算机)、手机、平板电脑等,对此不做限制)的浏览器,也可以是终端设备的APP(Application,应用程序),对此不做限制。应用服务器可以是与应用客户端交互的任意设备,应用服务器可以为应用客户端提供相关服务,对此不做限制。
在一个例子中,应用服务器可以包括用于实现相关服务的应用程序,应用服务器通过应用程序为应用客户端提供相关服务。而且,应用程序是通过软件代码实现的,也就是说,应用服务器通过执行软件代码,能够实现应用程序的功能,继而通过应用程序为应用客户端提供相关服务。综上所述,应用服务器与应用客户端交互的过程,实际上就是执行应用程序的软件代码的过程。
为了方便描述,本申请实施例中,可以将应用程序的软件代码称为原始数据,该原始数据可以包括多行软件代码,每行软件代码称为该原始数据的子数据(即部分原始数据),此外,可以将原始数据的每一行称为数据行。
例如,应用程序对应的原始数据包括100行软件代码,则原始数据的第一行为数据行1,第一行的软件代码为数据行1对应的子数据1,原始数据的第二行为数据行2,第二行的软件代码为数据行2对应的子数据2,以此类推。
基于上述应用场景,本申请实施例提出的异常处理方法,其流程图可以参见图4所示,该方法可以应用于应用服务器,该方法可以包括以下步骤:
步骤401,获取应用程序运行过程中产生的异常日志。
具体的,在应用服务器与应用客户端交互的过程中,应用服务器通过执行应用程序,为应用客户端提供相关服务。在应用程序的运行过程中,若未发生异常,则应用服务器可以产生正常日志,对此过程不再赘述。在应用程序的运行过程中,若发生异常,则应用服务器可以产生异常日志,一旦应用服务器产生异常日志,就可以获取应用程序运行过程中产生的异常日志。
其中,当应用程序的运行过程发生异常时,会产生调用过程的日志(如100行左右),将这个日志称为异常日志,该异常日志用于记录与当前操作有关的信息,如数据处理失败的信息、操作时间信息、异常原因信息、原始数据的异常位置(即发生异常的数据行)等,对此异常日志的内容不做限制。
步骤402,根据异常日志确定原始数据中发生异常的数据行。
具体的,参见上述实施例,由于异常日志包括操作时间信息、异常原因信息、原始数据的异常位置等,因此,可以根据异常日志确定原始数据的异常位置,即原始数据中发生异常的数据行。例如,若异常日志包括的异常位置是28,表示原始数据的第28行发生异常,因此,发生异常的数据行是数据行28。
步骤403,从原始数据中查询与该数据行对应的子数据,并在该子数据中添加控制信息,该控制信息用于指示输出与该子数据对应的局部变量。
具体的,在从原始数据中查询到与该数据行(即原始数据中发生异常的数据行)对应的子数据后,可以在该子数据的前面添加该控制信息(即在原始数据中该子数据的前面添加该控制信息);或者,可以在该子数据的后面添加该控制信息(即在原始数据中该子数据的后面添加该控制信息)。
在一个例子中,可以基于字节码增强功能,在不修改原始数据的基础上,在原始数据中的子数据中添加控制信息。当然,在实际应用中,也可以基于其它功能,在原始数据中的子数据中添加控制信息,对此不做限制。
例如,假设发生异常的数据行是数据行28,则可以从原始数据中查询第28行的子数据28(即原始数据的第28行软件代码),然后,在原始数据的第28行的子数据28中添加控制信息,即在第28行添加控制信息。例如,在子数据28的前面添加该控制信息,或者,在子数据28的后面添加该控制信息。
在一个例子中,可以在应用服务器加载代理客户端(也可以称为目标客户端或对象客户端,后续以代理客户端为例)。基于此,由代理客户端获取应用程序运行过程中产生的异常日志,根据该异常日志确定原始数据中发生异常的数据行,从该原始数据中查询与该数据行对应的子数据,并在该子数据中添加控制信息,该控制信息用于指示输出与该子数据对应的局部变量。
在另一个例子中,可以在应用服务器加载代理客户端(也可以称为目标客户端或对象客户端,后续以代理客户端为例)和监控客户端(如EagleEye或者APM等,用于发现应用程序本身的异常日志)。基于此,由监控客户端获取应用程序运行过程中产生的异常日志,并将该异常日志输出给代理客户端。代理客户端在接收到该异常日志后,根据该异常日志确定原始数据中发生异常的数据行,从该原始数据中查询与该数据行对应的子数据,并在该子数据中添加控制信息,该控制信息用于指示输出与该子数据对应的局部变量。
步骤404,在执行与该应用程序对应的原始数据的过程中,若执行到子数据中的控制信息,则获取与该子数据对应的局部变量,并输出该局部变量。
具体的,在应用服务器与应用客户端交互的过程中,应用服务器通过执行应用程序,为应用客户端提供相关服务。在应用程序的运行过程中,应用服务器会执行与该应用程序对应的原始数据,如执行原始数据第1行的子数据1,第2行的子数据2等,对此不做限制。在执行原始数据第28行的子数据28时,由于子数据28包括控制信息,且控制信息指示输出与子数据28对应的局部变量,因此,应用服务器会获取子数据28对应的局部变量,并输出该局部变量。
其中,在执行原始数据第28行的子数据28时,堆栈中存储的就是子数据28对应的局部变量,因此,可以从堆栈中获取子数据28对应的局部变量。
其中,局部变量是应用程序运行过程中的过程参数,是只在特定过程或函数中可以访问的变量,局部变量作用域是定义局部变量的子程序(即原始数据的子数据)。例如,通过局部变量,可以确定国家、地区、用户标识等内容。
参见图5所示,为局部变量的示意图,从该局部变量可以看出,应用程序(即APP)的名称是“aaa”,用户标识(即name)是“zhangsan”,国家(即country)是“china”,地区(即region)是“hangzhou”。当然,图5只是局部变量的一个示例,对此局部变量的形式不做限制,只要能够包括相关信息即可。
在一个例子中,可以只输出局部变量(如子数据28对应的局部变量)。或者,可以输出局部变量、原始数据中发生异常的数据行(如数据行28)、与原始数据对应的参数信息(如类名、方法名、原始数据的总行数等)。
其中,在执行原始数据第28行的子数据28时,堆栈中也可以存储原始数据对应的参数信息,因此,可以从堆栈中获取原始数据对应的参数信息。
为了方便描述,后续以输出局部变量为例,对于输出局部变量、发生异常的数据行、参数信息的实现方式,与输出局部变量类似,后续不再赘述。
在一个例子中,控制信息用于指示将局部变量输出给用户,基于此,应用服务器在获取到局部变量后,可以将局部变量输出给用户,这样,用户可以获取到局部变量,继而利用该局部变量分析异常原因,对此过程不再赘述。
在另一个例子中,控制信息用于指示将局部变量输出给控制服务器(如向应用服务器提供代理客户端的服务器),如控制信息可以包括控制服务器的地址。基于此,应用服务器在获取到局部变量后,可以将局部变量输出给控制服务器,例如,利用控制服务器的地址将局部变量输出给控制服务器。控制服务器在接收到局部变量后,可以将局部变量输出给用户,这样,用户可以获取到局部变量,继而利用该局部变量分析异常原因,对此过程不再赘述。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,提出一种基于异常日志的局部变量获取方法,维护人员可以获知局部变量,利用局部变量分析异常原因,而不是通过异常日志分析异常原因,能够准确分析异常原因,及时修复异常问题,减少用户工作量,用户体验比较好。上述方式能够快速得到局部变量,排查异常发生的详细过程,直接查看线上真实运行的局部变量,真正反应线上错误的执行过程,能够模拟线上环境的真实异常发生时的用户输入。当异常发生时,基于异常日志,快速查看异常发生时的局部变量,结合源代码,真正的还原现场。
由于应用程序的异常是有限的,即发生异常的次数比较小,因此,只在应用程序发生异常时,才获取局部变量,在应用程序未发生异常时,不获取局部变量,可以减少局部变量的获取次数,是一种按需获取局部变量的方式。
基于与上述方法同样的申请构思,本申请实施例还提供一种异常处理装置,如图6所示,为所述异常处理装置的结构图,所述装置可以包括:
获取模块61,用于获取应用程序运行过程中产生的异常对象;
确定模块62,用于根据所述异常对象确定所述应用程序对应的原始数据的异常位置;
添加模块63,用于根据所述异常位置在所述原始数据中添加控制信息;
输出模块64,用于根据所述控制信息输出与所述异常位置对应的异常数据。
所述添加模块63根据所述异常位置在所述原始数据中添加控制信息时具体用于:若所述异常位置包括发生异常的数据行,则从所述原始数据中查询与所述数据行对应的子数据,并在所述子数据中添加所述控制信息。
所述输出模块64根据所述控制信息输出与所述异常位置对应的异常数据时具体用于:在执行与所述应用程序对应的原始数据的过程中,若执行到所述控制信息,则获取与所述异常位置对应的异常数据,并输出所述异常数据;
其中,所述控制信息用于指示输出与异常位置对应的异常数据。
基于上述技术方案,本申请实施例中,提出一种基于异常日志的局部变量获取方法,维护人员可以获知局部变量,利用局部变量分析异常原因,而不是通过异常日志分析异常原因,能够准确分析异常原因,及时修复异常问题,减少用户工作量,用户体验比较好。上述方式能够快速得到局部变量,排查异常发生的详细过程,直接查看线上真实运行的局部变量,真正反应线上错误的执行过程,能够模拟线上环境的真实异常发生时的用户输入。当异常发生时,基于异常日志,快速查看异常发生时的局部变量,结合源代码,真正的还原现场。
基于与上述方法同样的申请构思,本申请实施例还提供一种异常处理设备,包括:处理器和机器可读存储介质;其中,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取应用程序运行过程中产生的异常对象;
根据所述异常对象确定所述应用程序对应的原始数据的异常位置;
根据所述异常位置在所述原始数据中添加控制信息;
根据所述控制信息输出与所述异常位置对应的异常数据。
本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
获取应用程序运行过程中产生的异常对象;
根据所述异常对象确定所述应用程序对应的原始数据的异常位置;
根据所述异常位置在所述原始数据中添加控制信息;
根据所述控制信息输出与所述异常位置对应的异常数据。
参见图7所示,为本申请实施例中提出的异常处理设备的结构图,所述异常处理设备70可以包括:处理器71,网络接口72,总线73,存储器74。
存储器74可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据等等。例如,存储器74可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (11)

1.一种异常处理方法,其特征在于,所述方法包括:
获取应用程序运行过程中产生的异常对象;
根据所述异常对象确定所述应用程序对应的原始数据的异常位置;
根据所述异常位置在所述原始数据中添加控制信息;
根据所述控制信息输出与所述异常位置对应的异常数据;
其中,所述根据所述控制信息输出与所述异常位置对应的异常数据,包括:
在执行与所述应用程序对应的原始数据的过程中,若执行到所述控制信息,则获取与所述异常位置对应的异常数据,并输出所述异常数据;
其中,所述控制信息用于指示输出与异常位置对应的异常数据。
2.根据权利要求1所述的方法,其特征在于,
所述根据所述异常位置在所述原始数据中添加控制信息,包括:
若所述异常位置包括发生异常的数据行,则从所述原始数据中查询与所述数据行对应的子数据,并在所述子数据中添加所述控制信息。
3.根据权利要求2所述的方法,其特征在于,
所述在所述子数据中添加所述控制信息,包括:
在所述子数据的前面添加所述控制信息;或者,
在所述子数据的后面添加所述控制信息。
4.根据权利要求1所述的方法,其特征在于,
所述获取与所述异常位置对应的异常数据,包括:
若所述异常位置包括发生异常的数据行,则从所述原始数据中查询与所述数据行对应的子数据,并获取与所述子数据对应的异常数据。
5.根据权利要求1所述的方法,其特征在于,
所述根据所述控制信息输出与所述异常位置对应的异常数据,包括:
若所述异常位置包括发生异常的数据行,则根据所述控制信息输出与所述异常位置对应的异常数据、所述数据行、与所述原始数据对应的参数信息。
6.根据权利要求1-5任一项所述的方法,其特征在于,
所述异常对象包括异常日志;所述异常数据包括局部变量。
7.一种异常处理方法,其特征在于,所述方法包括:
获取应用程序运行过程中产生的异常日志;其中,所述异常日志包括所述应用程序对应的原始数据中发生异常的数据行;
从所述原始数据中查询与所述数据行对应的子数据,在所述子数据中添加控制信息,所述控制信息用于指示输出与所述子数据对应的局部变量;
根据所述控制信息输出与所述子数据对应的局部变量;
其中,所述根据所述控制信息输出与所述子数据对应的局部变量,包括:
在执行与所述应用程序对应的原始数据的过程中,若执行到所述控制信息,则获取与所述子数据对应的局部变量,并输出所述局部变量。
8.根据权利要求7所述的方法,其特征在于,
所述在所述子数据中添加控制信息,包括:
在所述子数据的前面添加所述控制信息;或者,
在所述子数据的后面添加所述控制信息。
9.一种异常处理装置,其特征在于,所述装置包括:
获取模块,用于获取应用程序运行过程中产生的异常对象;
确定模块,用于根据所述异常对象确定所述应用程序对应的原始数据的异常位置;
添加模块,用于根据所述异常位置在所述原始数据中添加控制信息;
输出模块,用于根据所述控制信息输出与所述异常位置对应的异常数据;
其中,所述输出模块根据所述控制信息输出与所述异常位置对应的异常数据时具体用于:在执行与所述应用程序对应的原始数据的过程中,若执行到所述控制信息,则获取与所述异常位置对应的异常数据,并输出所述异常数据;
其中,所述控制信息用于指示输出与异常位置对应的异常数据。
10.根据权利要求9所述的装置,其特征在于,
所述添加模块根据所述异常位置在所述原始数据中添加控制信息时具体用于:若所述异常位置包括发生异常的数据行,则从所述原始数据中查询与所述数据行对应的子数据,并在所述子数据中添加所述控制信息。
11.一种异常处理设备,其特征在于,所述设备包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取应用程序运行过程中产生的异常对象;
根据所述异常对象确定所述应用程序对应的原始数据的异常位置;
根据所述异常位置在所述原始数据中添加控制信息;
根据所述控制信息输出与所述异常位置对应的异常数据;
其中,所述根据所述控制信息输出与所述异常位置对应的异常数据,包括:
在执行与所述应用程序对应的原始数据的过程中,若执行到所述控制信息,则获取与所述异常位置对应的异常数据,并输出所述异常数据;
其中,所述控制信息用于指示输出与异常位置对应的异常数据。
CN201910127001.5A 2019-02-20 2019-02-20 一种异常处理方法、装置及其设备 Active CN111597093B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910127001.5A CN111597093B (zh) 2019-02-20 2019-02-20 一种异常处理方法、装置及其设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910127001.5A CN111597093B (zh) 2019-02-20 2019-02-20 一种异常处理方法、装置及其设备

Publications (2)

Publication Number Publication Date
CN111597093A CN111597093A (zh) 2020-08-28
CN111597093B true CN111597093B (zh) 2024-04-16

Family

ID=72185275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910127001.5A Active CN111597093B (zh) 2019-02-20 2019-02-20 一种异常处理方法、装置及其设备

Country Status (1)

Country Link
CN (1) CN111597093B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231133B (zh) * 2020-10-16 2023-06-30 杭州中奥科技有限公司 一种数据修复处理方法、装置及电子设备
CN113407406B (zh) * 2021-05-26 2023-06-23 中国联合网络通信集团有限公司 异常监控方法和异常监控系统

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016095672A1 (zh) * 2014-12-18 2016-06-23 北京奇虎科技有限公司 一种基于栈的异常检测方法和装置
CN106294176A (zh) * 2016-08-19 2017-01-04 暴风集团股份有限公司 Mac OS系统中应用程序故障定位的方法及系统
CN106326129A (zh) * 2016-09-09 2017-01-11 福建中金在线信息科技有限公司 一种程序异常信息生成方法及装置
WO2017110720A1 (ja) * 2015-12-25 2017-06-29 日本電気株式会社 ログ分析システム、ログ分析方法及びプログラムを格納した記録媒体
CN107040816A (zh) * 2017-03-17 2017-08-11 北京潘达互娱科技有限公司 一种客户端应用运行异常分析方法与装置
CN107329894A (zh) * 2017-06-21 2017-11-07 广州华多网络科技有限公司 应用程序系统测试方法、装置及电子设备
CN107391360A (zh) * 2016-11-16 2017-11-24 广州爱九游信息技术有限公司 应用程序异常信息处理方法、装置、服务器及用户终端
CN108132850A (zh) * 2017-12-22 2018-06-08 北京比特大陆科技有限公司 代码定位方法、装置及电子设备
CN108345542A (zh) * 2018-02-28 2018-07-31 腾讯科技(深圳)有限公司 一种应用程序中异常处理方法及装置
CN108491320A (zh) * 2018-03-05 2018-09-04 平安普惠企业管理有限公司 应用程序的异常分析方法、装置、计算机设备和存储介质
CN108874672A (zh) * 2018-06-19 2018-11-23 腾讯科技(深圳)有限公司 应用程序异常定位方法、装置、设备及存储介质
CN108920364A (zh) * 2018-06-21 2018-11-30 深圳壹账通智能科技有限公司 软件缺陷定位方法、装置、终端及计算机可读存储介质
CN108959199A (zh) * 2018-06-28 2018-12-07 武汉斗鱼网络科技有限公司 一种日志的突出显示方法、装置、存储介质及安卓终端
CN109240886A (zh) * 2018-09-03 2019-01-18 平安科技(深圳)有限公司 异常处理方法、装置、计算机设备以及存储介质
CN109344046A (zh) * 2018-08-09 2019-02-15 北京奇艺世纪科技有限公司 一种数据处理方法、装置、介质及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10360184B2 (en) * 2015-06-24 2019-07-23 International Business Machines Corporation Log file analysis to locate anomalies

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016095672A1 (zh) * 2014-12-18 2016-06-23 北京奇虎科技有限公司 一种基于栈的异常检测方法和装置
WO2017110720A1 (ja) * 2015-12-25 2017-06-29 日本電気株式会社 ログ分析システム、ログ分析方法及びプログラムを格納した記録媒体
CN106294176A (zh) * 2016-08-19 2017-01-04 暴风集团股份有限公司 Mac OS系统中应用程序故障定位的方法及系统
CN106326129A (zh) * 2016-09-09 2017-01-11 福建中金在线信息科技有限公司 一种程序异常信息生成方法及装置
CN107391360A (zh) * 2016-11-16 2017-11-24 广州爱九游信息技术有限公司 应用程序异常信息处理方法、装置、服务器及用户终端
CN107040816A (zh) * 2017-03-17 2017-08-11 北京潘达互娱科技有限公司 一种客户端应用运行异常分析方法与装置
CN107329894A (zh) * 2017-06-21 2017-11-07 广州华多网络科技有限公司 应用程序系统测试方法、装置及电子设备
CN108132850A (zh) * 2017-12-22 2018-06-08 北京比特大陆科技有限公司 代码定位方法、装置及电子设备
CN108345542A (zh) * 2018-02-28 2018-07-31 腾讯科技(深圳)有限公司 一种应用程序中异常处理方法及装置
CN108491320A (zh) * 2018-03-05 2018-09-04 平安普惠企业管理有限公司 应用程序的异常分析方法、装置、计算机设备和存储介质
CN108874672A (zh) * 2018-06-19 2018-11-23 腾讯科技(深圳)有限公司 应用程序异常定位方法、装置、设备及存储介质
CN108920364A (zh) * 2018-06-21 2018-11-30 深圳壹账通智能科技有限公司 软件缺陷定位方法、装置、终端及计算机可读存储介质
CN108959199A (zh) * 2018-06-28 2018-12-07 武汉斗鱼网络科技有限公司 一种日志的突出显示方法、装置、存储介质及安卓终端
CN109344046A (zh) * 2018-08-09 2019-02-15 北京奇艺世纪科技有限公司 一种数据处理方法、装置、介质及电子设备
CN109240886A (zh) * 2018-09-03 2019-01-18 平安科技(深圳)有限公司 异常处理方法、装置、计算机设备以及存储介质

Also Published As

Publication number Publication date
CN111597093A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
CN107329894B (zh) 应用程序系统测试方法、装置及电子设备
WO2018000607A1 (zh) 一种识别测试用例失败原因的方法及电子设备
CN109309596B (zh) 一种压力测试方法、装置及服务器
US11036507B2 (en) Processor testing using pairs of counter incrementing and branch instructions
CN110474900B (zh) 一种游戏协议测试方法及装置
US10169461B2 (en) Analysis of data utilization
CN111679968A (zh) 接口调用异常的检测方法、装置、计算机设备及存储介质
CN111597093B (zh) 一种异常处理方法、装置及其设备
US9811447B2 (en) Generating a fingerprint representing a response of an application to a simulation of a fault of an external service
CN107357721B (zh) 测试系统的方法及装置
CN115858311A (zh) 运维监控的方法、装置、电子设备及可读存储介质
CN114003510A (zh) 基于Mock服务的脚本测试方法、装置、设备及介质
CN116661758B (zh) 一种优化日志框架配置的方法、装置、电子设备及介质
CN111367750B (zh) 一种异常处理方法、装置及其设备
CN111159009A (zh) 一种日志服务系统的压力测试方法及装置
CN115495171A (zh) 一种命令管理方法、装置、设备及机器可读存储介质
US11226810B1 (en) Method for providing information based on expected result value and computing device using the same
CN111190824B (zh) 监测方法、装置、终端设备及存储介质
JP2023546904A (ja) 加速された不揮発性メモリデバイス検査およびフォレンジック
CN108628750B (zh) 一种测试代码处理方法及装置
CN114371866A (zh) 业务系统的版本重构测试方法、装置和设备
CN111338686A (zh) 一种软件构建方法、设备、服务器及可读存储介质
CN111752600A (zh) 代码异常检测方法、装置、计算机设备及存储介质
CN113010365A (zh) 系统运行状态的监控方法、检测方法、装置、电子设备及存储介质
CN117130945B (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
GR01 Patent grant
GR01 Patent grant