WO2018196559A1 - 应用程序异常处理方法、装置及存储介质 - Google Patents
应用程序异常处理方法、装置及存储介质 Download PDFInfo
- Publication number
- WO2018196559A1 WO2018196559A1 PCT/CN2018/081525 CN2018081525W WO2018196559A1 WO 2018196559 A1 WO2018196559 A1 WO 2018196559A1 CN 2018081525 W CN2018081525 W CN 2018081525W WO 2018196559 A1 WO2018196559 A1 WO 2018196559A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- application
- event
- abnormality
- recorded
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3636—Debugging of software by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Definitions
- the present application relates to the field of computers, and in particular, to an application exception processing method, apparatus, and storage medium.
- ANR Application Not Responding
- the technical problem to be solved by the embodiments of the present application is to provide an application exception processing method, an application abnormality processing device, and a storage medium, and to solve the technical problem that it is difficult to locate the cause and repair when an abnormality occurs in the application (such as ANR).
- the embodiment of the present application discloses an application exception processing method, which is applied to an electronic device, and includes:
- Anomaly analysis is performed based on the extracted scene information.
- the embodiment of the present application discloses an application exception processing apparatus, including:
- processor coupled to the processor, the memory having machine readable instructions executable by the processor, the processor executing the machine readable instructions to:
- Anomaly analysis is performed based on the extracted scene information.
- the embodiment of the present application discloses a non-transitory computer readable storage medium in which machine readable instructions are stored, the machine readable instructions being executable by a processor to perform the following operations:
- Anomaly analysis is performed based on the extracted scene information.
- FIG. 1 is a schematic diagram of an interface when an ANR occurs in an embodiment of the present application
- FIG. 2 is a schematic flowchart of an application exception processing method provided by an embodiment of the present application.
- FIG. 3 is a schematic diagram of a principle of a partition function module provided by an embodiment of the present application.
- FIG. 5 is a schematic diagram of a lifecycle node of an operation page provided by an embodiment of the present application.
- FIG. 6 is a schematic diagram of the principle of extracting scene information provided by an embodiment of the present application.
- FIG. 6b is another schematic flowchart of an application exception processing method according to an embodiment of the present application.
- FIG. 7 is another schematic flowchart of an application exception processing method according to an embodiment of the present application.
- FIG. 8 is a schematic structural diagram of an application exception processing apparatus according to an embodiment of the present application.
- FIG. 8b is another schematic structural diagram of an application exception processing apparatus according to an embodiment of the present application.
- FIG. 9 is another schematic structural diagram of an application exception processing apparatus according to an embodiment of the present application.
- FIG. 10 is a schematic structural diagram of an application exception handling system according to an embodiment of the present application.
- the App interface may be unresponsive, the button is not responding, the slide is stuck, the flow is not smooth, or the automatic exit, etc., as shown in FIG. 1 , the interface diagram of the electronic device when the ANR occurs, and in some cases The prompt no response box (as shown in Figure 1), but in some cases, the prompt box will not pop up, that is, the APP that has the invisible ANR will be killed immediately, stop running, seriously affecting the user experience and normal. use.
- the system will record the corresponding trace file.
- the android system will generate the corresponding trace file in the /data/anr/ or /data/system/dropbox directory.
- the trace file records the App and system base module when the ANR occurs. The stack and status information of each thread, whether it is deadlocked, etc.
- the reason for trying to locate ANR is by analyzing the trace file.
- more than 80% of the stack information in the trace file is trace information inside the system. It is impossible to specifically locate which services in the App or which operations of the user cause the ANR problem. Therefore, for most ANR problems, it is difficult to locate them. Cause and fix it.
- FIG. 2 is a schematic flowchart diagram of an application exception processing method provided by an embodiment of the present application, and the method can be applied to an electronic device, such as a terminal or a server.
- the method can include the following steps:
- Step S200 Record scene information when the application-based thread performs an operation.
- the user or the system records the scene information in real time for the thread of the application, or records the scene information according to a certain time interval.
- Step S202 Receive abnormal indication information indicating that the application runs abnormally.
- the system when the system receives the abnormality indication information indicating that the application is running abnormally, it indicates that the application has an abnormality.
- Step S204 Extract, according to the abnormality indication information, scene information corresponding to when the application program runs abnormally from the recorded scene information.
- the application program in the embodiment of the present application is divided into multiple functional modules, and each functional module has multiple user interfaces (UIs); wherein each functional module corresponds to a unique identifier TAG, and each UI corresponds to The unique identifier ID of the record;
- the scene information of the record includes a lifecycle node of the operation page when the thread is operated by the application, and a TAG and an ID corresponding to the operation page;
- the system receives the abnormality indication information, the system triggers The scene information corresponding to the abnormality of the application running is extracted from the recorded scene information.
- the method may further include: dividing the application into a plurality of function modules; setting a unique TAG corresponding to each of the function modules, and a unique ID corresponding to each UI.
- the application program of the electronic device or the terminal device in the embodiment of the present application is pre-divided into a plurality of functional modules or service modules, as shown in FIG.
- Each function module has a plurality of user interface UIs, as shown in FIG. 4, which is a schematic diagram of a plurality of user interfaces under the function modules provided by the embodiments of the present application.
- each functional module of the application in the embodiment of the present application has a unique identifier TAG
- each UI has a unique identifier ID; that is, some unique identifiers are defined in advance to distinguish different functional modules and each Different UIs under the function modules; therefore, through the combination of TAG+ID identification, it is possible to quickly locate which UI the user is currently operating.
- FIG. 5 is a schematic diagram of the lifecycle node of the operation page provided by the embodiment of the present application, from Create->Start->Enter Interface->Pause->Restart -> Stop->Destroy, etc.
- Each stage (node) is circulated in the main thread. It is possible to have an abnormal problem such as ANR.
- ANR an abnormal problem
- the user When the user operates the application, it records which function module and which UI the application has entered. By recording the TAG and ID corresponding to the operation page, you can know the function modules and interfaces that the application is processing when an abnormal problem occurs.
- Event information processed by an event handler including the main thread and other non-main threads can be recorded.
- many ANRs are generated due to the timeout of Handler event dispatch in the main thread.
- Each Handler event can be set with a specific ID, record the last Handler event ID and Handler event ID information when the ANR occurs, can quickly locate which event in the Handler operation timeout causes other events to be blocked, timeout occurs, ANR .
- key or touch screen event information of the application's main thread can be recorded.
- the user operates the button or clicks on the operation information of the page, such as clicking the up event of the back button or the list event information of the sliding page. This way, you can further narrow down the code segments that may have anomalies.
- the specific service module or the source of the function module can be found through the specific broadcast event information, to determine which service issued the broadcast information causes the blocking, thereby causing the ANR. occur.
- the abnormality of the application running is mainly caused by the task or event exception handled in the main thread.
- the task processed in the main thread times out, causing the main thread to be blocked, and the event, broadcast or need to be distributed in the subsequent main thread.
- Operations performed on the main thread cannot be distributed or completed in time, causing anomalies such as ANR.
- anomalies such as ANR.
- recording IPC information can help locate anomalies in the application.
- the scenario information corresponding to the abnormality of the application running may be extracted by using the recorded scenario information, as shown in FIG. 6a.
- the lifecycle node of the page activity, the current and last processing event information of the Handler, the current and the last operation event information of the Handler when the abnormality problem occurs may be extracted. (such as button event information), current and most recent broadcast event information, current and most recent IPC information, or service lifecycle information, and so on.
- Step S206 Perform an abnormality analysis according to the extracted scene information.
- the lifecycle node of the operation page when the exception occurs, the TAG and the ID corresponding to the operation page, the event information processed by the event processor, the event information processed by the last event processor, and the event information processed by the last event processor may be executed according to the extracted application.
- Anomaly analysis is performed on the current and most recent operational event information (such as button event information), current and most recent broadcast event information, current and most recent IPC information, and service lifecycle information.
- FIG. 6a As an example, another schematic flowchart of the application exception processing method provided by the embodiment of the present application shown in FIG. 6b is further illustrated.
- the method illustrated in FIG. 6b may include the following steps:
- Step S600 Divide the application into multiple functional modules.
- Step S602 Set a unique TAG corresponding to each function module, and a unique ID corresponding to each UI in each function module.
- Step S604 Record the lifecycle node of the operation page operated by the thread of the application, the TAG and ID corresponding to the operation page, the event information processed by the event processor of the thread, and the event information and operation processed by the event processor last time.
- step S606 when the application runs abnormally, the scenario information corresponding to the abnormality of the running of the application is extracted from the recorded scenario information.
- Step S608 Locating, according to the extracted scenario information, a lifecycle node of the operation page when the application runs abnormally.
- the lifecycle node of the operation page when the extracted application runs an exception can locate the running phase of the application when the abnormal problem occurs.
- Step S610 The TAG and the ID corresponding to the operation page when the application runs abnormally are located according to the extracted scenario information.
- the extracted application runs the TAG and the ID corresponding to the operation page when the abnormality occurs, and knows which function module and which UI the application enters, and then can locate the function module and interface that the application is processing when the abnormality occurs.
- Step S612 The event information processed by the event processor of the thread when the application runs abnormally and the event information processed by the event processor last time are located according to the extracted scene information.
- the extracted application runs the event information processed by the event processor of the thread when the exception occurs and the event information processed by the event processor last time, it can quickly locate which event in the Handler is timed out, causing other events to be An ANR occurred in the blocking timeout.
- Step S614 Locating the operation event information of the operation page when the application runs abnormally according to the extracted scene information.
- the code segment in which the abnormality problem may occur may be further reduced.
- Step S616 Locating, according to the extracted scenario information, broadcast event information of the thread when the application runs abnormally.
- a specific service module or a function module source can be found to locate which broadcast information sent by the service causes the blocking, thereby causing the ANR to occur.
- Step S618 Locating, according to the extracted scenario information, whether the abnormality of the running of the application is caused by communication between processes.
- running the abnormal IPC information through the extracted application can help locate whether the abnormality of the application is caused by communication between processes.
- Step S620 Locating the service lifecycle information of the thread when the application runs abnormally according to the extracted scenario information.
- the specific service module corresponding to the ANR generated in the service can be quickly located.
- the embodiment of the present application may include: recording, in a Key-Value manner, scenario information based on an operation of the thread of the application; the Key characterizing the behavior type, The Value characterizes the behavioral content.
- the Key when the lifecycle node of the operation page of the application is recorded, the Key may be an identifier of the “Activity” to indicate that the type is the life cycle of the operation page, and the behavior content of the corresponding Value representation is the specific stage of the life cycle.
- the ANR used to discover which phase of the user the user is in can locate the ANR that occurred just after entering the page or the ANR that occurred when the page was destroyed, or the ANR that occurred in other situations. It is easier for the business to find out which code segments are causing the ANR.
- the Key when the event information processed by the event processor of the thread is recorded, the Key may be a Handler event information to represent the type; the corresponding Value may be the ID of the Handler event and the duration information processed thereof, and the like.
- the scenario information of the operation thread of the application is recorded by means of a Key-Value manner, and the scenario information of the operation of the thread based on the application program can be more clearly recorded, and the space for storing information of the electronic device is saved, and When performing anomaly analysis, the results can be analyzed more quickly, and the processing speed and performance of the electronic device processor are improved.
- the application exception processing method in the embodiment of the present application can be applied to a personal computer, a smart mobile terminal (such as a mobile phone, a mobile computer, a tablet computer), a personal digital assistant (PDA), a smart TV, or the like.
- a smart mobile terminal such as a mobile phone, a mobile computer, a tablet computer
- PDA personal digital assistant
- Smart watches, smart glasses, smart bracelets, etc. are installed on electronic devices or terminal devices with applications.
- the operation of performing abnormal analysis in the embodiment of the present application may be performed by a background server, or may be completed by the terminal itself. If the exception analysis is performed by the background server, as shown in another flowchart of the application exception processing method provided in the embodiment of the present application, the application exception processing method may include the following steps:
- Step S700 The terminal records scene information that is operated by the thread of the application
- step S200 For details, refer to the description in step S200 in the foregoing embodiment of FIG. 2, and details are not described herein again.
- Step S702 When the application runs abnormally, the terminal sends the recorded scenario information to the background server corresponding to the application;
- Step S704 The background server receives the scenario information.
- Step S706 The background server extracts, from the recorded scenario information, scenario information corresponding to when the application runs abnormally;
- Step S708 The background server performs abnormality analysis according to the extracted scenario information.
- Embodiments of the present application are configured to record scenario information that is operated by an application-based thread; and when an abnormality occurs in an application running, extracting scenario information corresponding to an abnormality of an application running from the recorded scenario information; the scenario information includes The lifecycle node of the operation page of the application, and the TAG and ID corresponding to the operation page; and then performing anomaly analysis according to the extracted scene information.
- the solution provided by the embodiment of the present application realizes the reason for quickly and accurately finding an abnormal problem, and solves the technical problem that it is difficult to locate the cause and repair when the application is abnormal, for example, solves most of the ANR problems that cannot be followed up.
- scenario information may further include event information processed by the event processor of the thread, operation event information for the operation page of the application, and service lifecycle information for the thread of the application, which may be further Identifying specific functional modules that have anomalous problems is beneficial for tracking and analyzing anomalies.
- the embodiment of the present application further provides an application exception processing device, which will be described in detail below with reference to the accompanying drawings.
- FIG. 8a is a schematic diagram showing the structure of an application exception processing apparatus provided by an embodiment of the present application.
- the application exception processing apparatus 80 may include a recording module 800, an abnormality information receiving module 802, an extracting module 804, and an abnormality analyzing module 806.
- the recording module 800 is configured to record scene information when the application-based thread performs an operation
- the abnormality information receiving module 802 is configured to receive abnormality indication information indicating that the application runs abnormally;
- the extracting module 804 is configured to extract, according to the abnormality indication information, scenario information corresponding to an abnormality of the running of the application program, where the application program is divided into multiple functional modules, each functional module There are multiple user interface UIs; each function module has its own unique identifier TAG, and each UI has its own unique identifier ID; the recorded scene information includes the life cycle of the operation page when the application-based thread operates. a node, and a TAG and an ID corresponding to the operation page;
- the abnormality analysis module 806 is configured to perform an abnormality analysis according to the extracted scene information.
- FIG. 8B is another schematic structural diagram of an application exception processing apparatus provided by an embodiment of the present application.
- the application exception processing apparatus 80 may further include a dividing module 808 and an identifier setting module 8010.
- the dividing module 808 is configured to divide the application program into multiple functional modules before the extraction module 804 extracts the scenario information corresponding to the abnormality of the application running from the recorded scenario information;
- the identifier setting module 8010 is configured to set a unique TAG corresponding to each function module, and a unique ID corresponding to each UI.
- the abnormality analysis module 806 may be further configured to send the recorded scenario information to a background server corresponding to the application, so that the background server extracts the application running from the recorded scenario information.
- the scene information corresponding to the abnormality occurs, and the abnormality analysis is performed according to the extracted scene information.
- the extracting module 804 may be further configured to extract, from the recorded scene information, a lifecycle node of the operation page when the application runs abnormally, and a TAG and an ID corresponding to the operation page;
- the abnormality analysis module 806 may include: a first positioning unit, configured to locate, according to the extracted scenario information, a lifecycle node of the operation page when the application runs abnormally, and a TAG and an ID corresponding to the operation page.
- the scene information recorded by the recording module 800 may further include event information processed by an event processor of the thread; the event information includes an identifier of the processing event and a processing duration;
- the extracting module 804 is further configured to: extract, from the recorded scene information, event information processed by an event processor of the thread when the application runs abnormally, and event information processed by the event processor last time;
- the abnormality analysis module 806 may further include a second positioning unit, configured to locate, according to the extracted scenario information, event information processed by the event processor of the thread when the application runs abnormally, and event information processed by the event processor last time.
- the scene information recorded by the recording module 800 may further include operation event information for an operation page of the application;
- the extracting module 804 is further configured to: extract, from the recorded scene information, operation event information of the operation page when the application runs abnormally;
- the abnormality analysis module 806 may further include a third positioning unit, configured to locate, according to the extracted scenario information, operation event information of the operation page when the application runs an abnormality.
- the scene information recorded by the recording module 800 may further include broadcast event information for a thread of the application;
- the extracting module 804 is further configured to: extract, from the recorded scenario information, broadcast event information of the thread when the application runs abnormally;
- the abnormality analysis module 806 may further include a fourth positioning unit, configured to locate, according to the extracted scenario information, broadcast event information of the thread when the application runs abnormally.
- the scenario information recorded by the recording module 800 may further include service lifecycle information for a thread of the application;
- the extraction module 804 is further configured to: extract, from the recorded scenario information, service lifecycle information of the thread when the application runs abnormally;
- the abnormality analysis module 806 may further include a fifth positioning unit, configured to locate, according to the extracted scenario information, service lifecycle information of the thread when the application runs abnormally.
- the recording module 800 is further configured to record, in a Key-Value manner, scene information when the application-based thread operates; the Key represents a behavior type, and the Value represents the behavior content.
- FIG. 9 is another schematic structural diagram of an application exception processing apparatus according to an embodiment of the present application.
- the application exception handling apparatus 90 may include at least one processor 901, such as a CPU, at least one network interface 904, a user interface 903, a memory 905, at least one communication bus 902, and a display screen 906.
- the communication bus 902 is used to implement connection communication between these components.
- the user interface 903 may include a touch screen or the like.
- the network interface 904 can optionally include a standard wired interface, a wireless interface (such as a WI-FI interface).
- the memory 905 may be a high-speed RAM memory, or may be a non-volatile memory or a non-transitory memory, such as at least one disk memory, and the memory 905 includes the embodiment of the present application. Flash.
- the memory 905 can also be at least one storage system located remotely from the aforementioned processor 901. As shown in FIG. 9, an operating system, a network communication module, a user interface module, and machine readable instructions, such as an application exception handler, may be included in the memory 905 as a computer storage medium.
- the processor 901 can be used to call an application exception handler stored in the memory 905 and perform the following operations:
- the abnormality indication information Extracting, according to the abnormality indication information, scenario information corresponding to when the application program runs abnormally, where the application program is divided into multiple function modules, and each function module has multiple user interfaces.
- Each of the function modules has a unique identifier TAG, and each UI has a unique identifier ID;
- the recorded scene information includes a lifecycle node of the operation page when the application-based thread operates, and the The TAG and ID corresponding to the operation page;
- Anomaly analysis is performed based on the extracted scene information.
- the processor 901 when an abnormality occurs in the application running, the processor 901 performs the following operations before extracting the scenario information corresponding to the abnormality of the application running from the recorded scenario information according to the abnormality indication information. :
- the processor 901 extracts the scenario information corresponding to the abnormality of the application running from the recorded scenario information, and performs the abnormality analysis according to the extracted scenario information, which may include:
- the recorded scenario information is sent to the background server corresponding to the application by using the network interface 904.
- the background server is configured to extract, from the recorded scenario information, scenario information corresponding to the abnormality of the running of the application, and according to the extracted scenario. Information is analyzed for anomalies.
- the processor 901 extracts, from the recorded scene information, the scenario information corresponding to the abnormality of the application running, and may further include: extracting, when the application runs abnormally, the operation from the recorded scenario information. a lifecycle node of the page, and a TAG and an ID corresponding to the operation page;
- the performing anomaly analysis by the processor 901 according to the extracted scenario information may include: positioning, according to the extracted scenario information, a lifecycle node of the operation page when the application runs an abnormality, and a TAG and an ID corresponding to the operation page.
- the recorded scenario information further includes event information processed by the event processor of the thread;
- the event information includes an identifier of the processing event and a processing duration;
- the processor 901 extracts, from the recorded scene information, scenario information corresponding to when the application runs abnormally, and may further include: extracting, from the recorded scenario information, an event processed by the event processor when the application runs abnormally Information, and event information processed by the event handler described last time;
- the performing anomaly analysis by the processor 901 according to the extracted scenario information may further include: locating event information processed by the event processor of the thread when the application runs abnormally according to the extracted scenario information, and event information processed by the event processor last time. .
- the recorded scenario information further includes operation event information for an operation page of the application
- the processor 901 extracts, from the recorded scene information, scenario information corresponding to when the application program runs abnormally, and may further include: extracting, from the recorded scene information, operation event information when the application program runs abnormally;
- the performing anomaly analysis by the processor 901 according to the extracted scenario information may further include: positioning the operation event information of the operation page when the application runs abnormally according to the extracted scenario information.
- the recorded scenario information further includes broadcast event information for a thread of the application
- the processor 901 extracts, from the recorded scene information, the scene information corresponding to the abnormality of the application running, and may further include: extracting, from the recorded scene information, broadcast event information of the thread when the application runs abnormally;
- the performing the abnormality analysis by the processor 901 according to the extracted scenario information may further include: positioning the broadcast event information of the thread when the application runs abnormally according to the extracted scenario information.
- the recorded scenario information further includes service lifecycle information for a thread of the application
- the processor 901 extracts, from the recorded scene information, scenario information corresponding to the abnormality of the application running, and may further include: extracting service lifecycle information of the thread when the application runs abnormally from the recorded scenario information;
- the performing anomaly analysis by the processor 901 according to the extracted scenario information may further include: positioning, according to the extracted scenario information, service lifecycle information of the thread when the application runs abnormally.
- the processor 901 records the scenario information of the operation of the thread based on the application, and may include:
- the scene information when the application-based thread operates is recorded in a Key-Value manner; the Key represents a behavior type, and the Value represents the behavior content.
- the application exception handling device 80 or the application exception handling device 90 may include, but is not limited to, a personal computer, a smart mobile terminal (such as a mobile phone, a mobile computer, a tablet), a personal digital assistant (PDA), a smart TV, Electronic devices or terminal devices with application programs such as smart watches, smart glasses, and smart bracelets.
- a smart mobile terminal such as a mobile phone, a mobile computer, a tablet
- PDA personal digital assistant
- TV Electronic devices or terminal devices with application programs such as smart watches, smart glasses, and smart bracelets.
- FIG. 10 is a schematic structural diagram of an application exception handling system provided by an embodiment of the present application.
- the application exception processing system 100 may include a terminal device 1000 and a background server 1002, where the terminal device 1000 may be an application in the embodiment of the present application.
- the scenario information is sent to the background server corresponding to the application. 1002.
- the background server 1002 extracts, from the recorded scenario information, scenario information corresponding to when the application runs abnormally, and performs abnormality analysis according to the extracted scenario information.
- the terminal device 1000 may perform an abnormality analysis by itself, that is, after the terminal device 1000 records the scenario information of the operation based on the application-based thread, if the application runs abnormally, the terminal device 1000 records from the terminal device 1000.
- the scene information corresponding to the application running abnormality is extracted from the scenario information, and the abnormality analysis is performed according to the extracted scenario information.
- Embodiments of the present application are configured to record scenario information that is operated by an application-based thread; and when an abnormality occurs in an application running, extracting scenario information corresponding to an abnormality of an application running from the recorded scenario information; the scenario information includes The lifecycle node of the operation page of the application, and the TAG and ID corresponding to the operation page; and then performing anomaly analysis according to the extracted scene information.
- the solution provided by the embodiment of the present application realizes the reason for quickly and accurately finding an abnormal problem, and solves the technical problem that it is difficult to locate the cause and repair when the application is abnormal, for example, solves most of the ANR problems that cannot be followed up.
- scenario information may further include event information processed by the event processor of the thread, operation event information for the operation page of the application, and service lifecycle information for the thread of the application, which may be further Identifying specific functional modules that have anomalous problems is beneficial for tracking and analyzing anomalies.
- the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种应用程序异常处理方法、装置及存储介质,该方法包括:记录基于应用程序的线程进行操作时的场景信息;接收指示应用程序运行出现异常的异常指示信息;根据异常指示信息,从记录的场景信息中提取应用程序运行出现异常时对应的场景信息;其中,应用程序划分有多个功能模块,每个功能模块内有多个用户界面 UI;各个功能模块对应有各自唯一的标识 TAG,各个 UI 对应有各自唯一的标识 ID;记录的场景信息包括基于应用程序的线程进行操作时的操作页面的生命周期节点,以及操作页面对应的 TAG 和 ID;根据提取的场景信息进行异常分析。
Description
本申请要求于2017年4月26日提交中国专利局、申请号为201710282449.5,申请名称为“应用程序异常处理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及计算机领域,尤其涉及应用程序异常处理方法、装置及存储介质。
随着电子科技以及互联网技术的发展,电子设备(特别是智能移动设备)的功能越来越强大,只要用户按照自身的需求在电子设备上安装各种应用程序APP,便可以通过移动互联网完成各种事务。
应用程序在运行过程中会出现异常问题,例如发生应用程序无响应(Application Not Responding,ANR),影响用户体验和正常使用。
发明内容
本申请实施例所要解决的技术问题在于,提供应用程序异常处理方法及应用程序异常处理装置以及存储介质,解决应用程序出现异常时(如ANR)很难定位原因并修复的技术问题。
本申请实施例公开了一种应用程序异常处理方法,应用于电子设备,包括:
记录基于应用程序的线程进行操作时的场景信息;
接收指示所述应用程序运行出现异常的异常指示信息;
根据所述异常指示信息,从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息;其中,所述应用程序划分有多个功能模块,每个功能模块内有多个用户界面UI,其中各个功能模块对应有各自 唯一的标识TAG,各个UI对应有各自唯一的标识ID,所述记录的场景信息包括基于应用程序的线程进行操作时的操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;
根据提取的场景信息进行异常分析。
本申请实施例公开了一种应用程序异常处理装置,包括:
处理器以及与所述处理器相连接的存储器,所述存储器中存储有可由所述处理器执行的机器可读指令,所述处理器执行所述机器可读指令完成以下操作:
记录基于应用程序的线程进行操作时的场景信息;
接收指示所述应用程序运行出现异常的异常指示信息;
根据所述异常指示信息,从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息;其中,所述应用程序划分有多个功能模块,每个功能模块内有多个用户界面UI,其中各个功能模块对应有各自唯一的标识TAG,各个UI对应有各自唯一的标识ID,所述记录的场景信息包括基于应用程序的线程进行操作时的操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;
根据提取的场景信息进行异常分析。
本申请实施例公开了一种非易失性计算机可读存储介质,所述存储介质中存储有机器可读指令,所述机器可读指令可以由处理器执行以完成以下操作:
记录基于应用程序的线程进行操作时的场景信息;
接收指示所述应用程序运行出现异常的异常指示信息;
根据所述异常指示信息,从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息;其中,所述应用程序划分有多个功能模块,每个功能模块内有多个用户界面UI,其中各个功能模块对应有各自唯一的标识TAG,各个UI对应有各自唯一的标识ID,所述记录的场景信息包括基于应用程序的线程进行操作时的操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;
根据提取的场景信息进行异常分析。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的出现ANR时的界面示意图;
图2是本申请实施例提供的应用程序异常处理方法的流程示意图;
图3是本申请实施例提供的划分功能模块的原理示意图;
图4是本申请实施例提供的功能模块下多个用户界面的原理示意图;
图5是本申请实施例提供的操作页面的生命周期节点的示意图;
图6a是本申请实施例提供的提取场景信息的原理示意图;
图6b是本申请实施例提供的应用程序异常处理方法的另一流程示意图;
图7是本申请实施例提供的应用程序异常处理方法的另一流程示意图;
图8a是本申请实施例提供的应用程序异常处理装置的结构示意图;
图8b是本申请实施例提供的应用程序异常处理装置的另一结构示意图;
图9是本申请实施例提供的应用程序异常处理装置的另一结构示意图;
图10是本申请实施例提供的应用程序异常处理系统的结构示意图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
当ANR发生时,会导致App界面点击无响应、按键无响应、滑动卡顿、不流畅、或自动退出等情况,如图1示出的出现ANR时的电子 设备的界面示意图,有些情况下会提示无响应框(如图1中所示),但也有些情况下不会弹出提示框,即发生了不可见ANR的APP会立即被杀(kill)掉,停止运行,严重影响用户体验和正常使用。发生ANR时,系统会记录对应的trace文件,比如android系统会在/data/anr/或/data/system/dropbox目录下生成对应的trace文件,trace文件中记录了发生ANR时App和系统基础模块中各个线程的堆栈和状态信息,是否死锁等情况。
实际应用中,都是通过分析trace文件去尝试定位ANR的原因。然而trace文件中的堆栈信息80%以上都是系统内部的trace信息,无法具体定位App中具体哪些业务或用户的哪些操作导致了ANR问题,因此,对于大部分的ANR问题,就很难定位其原因并进行修复。
图2示出了本申请实施例提供的应用程序异常处理方法的流程示意图,该方法可应用于电子设备,如终端或服务器等。该方法可以包括如下步骤:
步骤S200:记录基于应用程序的线程进行操作时的场景信息。
具体地,用户或者系统在启动了应用程序后,针对应用程序的线程进行操作时将实时地记录场景信息,或者按照一定的时间间隔来记录场景信息。
步骤S202:接收指示所述应用程序运行出现异常的异常指示信息。
具体地,当系统接收到指示该应用程序运行时出现异常的异常指示信息时,即表明该应用程序出现了异常。
步骤S204:根据所述异常指示信息,从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息。
具体地,本申请实施例中的应用程序划分有多个功能模块,每个功能模块内有多个用户界面(User Interface,UI);其中各个功能模块对应有各自唯一标识TAG,各个UI对应有各自唯一的标识ID;该记录的场景信息包括基于应用程序的线程进行操作时的操作页面的生命周期节点,以及该操作页面对应的TAG和ID;系统在接收到该异常指示信息 时,即触发从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息。
在步骤S204之前该方法还可以包括:将应用程序划分多个功能模块;设置每个功能模块各自对应的唯一TAG,以及每个UI各自对应的唯一ID。具体地,本申请实施例中电子设备或终端设备的应用程序被预先划分为多个功能模块或业务模块,如图3示出的本申请实施例提供的划分功能模块的原理示意图。每个功能模块内有多个用户界面UI,如图4示出的本申请实施例提供的功能模块下多个用户界面的原理示意图。并且,本申请实施例中的应用程序的各个功能模块对应有各自唯一标识TAG,各个UI对应有各自唯一的标识ID;也就是说,预先定义一些唯一标识,用于区分不同的功能模块以及每个功能模块下不同的UI;因此通过TAG+ID的标识组合,可以快速定位到用户当前正在操作哪个UI。
本申请实施例中要记录的场景信息包括以下一种或多种:
1)针对应用程序的操作页面的生命周期节点;
以android安卓系统中页面对应的生命周期节点为例,如图5示出的本申请实施例提供的操作页面的生命周期节点的示意图,从创建->启动->进入界面->暂停->重启->停止->销毁等每个阶段(节点)都是在主线程中流转的,都有可能发生ANR等异常问题,通过记录应用程序在整个过程中的生命周期节点,可以知道发生异常问题时应用程序所处的运行阶段。
2)操作页面对应的TAG和ID;
在用户对应用程序进行操作时,记录应用程序进入了哪个功能模块,哪个UI。通过记录操作页面对应的TAG和ID,可以知道发生异常问题时应用程序在处理的功能模块和界面。
3)线程的事件处理器处理的事件信息;
可以记录包括主线程和其它非主线程的事件处理器(Handler)处理的事件信息。实际应用中,很多ANR的产生都是由于主线程中Handler事件分发超时导致。每个Handler事件都可以设有具体的ID,记录上次 的Handler事件ID和ANR发生时的Handler事件ID信息,可以快速定位到Handler中的哪个事件操作超时导致了其他事件被阻塞超时出现了ANR。
4)针对应用程序的操作页面的操作事件信息;
例如可以记录该应用程序主线程的按键或触屏事件信息。用户操作按钮或点击页面的操作信息如点击back按键的up事件或者滑动页面的list事件信息等。这样,可以进一步缩小可能出现异常问题的代码段。
5)针对应用程序的线程的广播事件信息;
记录应用程序的线程的广播事件信息ID或广播的Action相关信息,可以通过具体的广播事件信息找到具体的业务模块或功能模块来源,来确定是哪个业务发出的广播信息造成了阻塞从而导致了ANR发生。
6)针对应用程序的跨进程通信(Inter-Process Communication,IPC);
应用程序运行出现异常的情况虽然主要是由于主线程中处理的任务或事件异常导致的,例如主线程中处理的任务超时,导致主线程受到阻塞,后续主线程中待分发的事件、广播或需要在主线程进行的操作无法及时被分发或完成,从而造成ANR等异常问题。但还有些情况是跨进程之间的通信造成的,因此记录IPC信息可以有助于定位应用程序出现的异常问题。
7)针对应用程序的线程的服务(service)生命周期信息;
记录应用程序的线程中具体的service名称等信息,可以快速定位service中发生ANR时对应的具体业务模块。
具体地,当应用程序运行出现异常时,可以通过记录的上述场景信息来提取出应用程序运行出现异常时对应的场景信息,如图6a示出的本申请实施例提供的提取场景信息的原理示意图,即通过预先定义标识,并记录的多个场景信息,可以提取出出现异常问题时页面活动的生命周期节点、Handler的当前一次和最近一次的处理事件信息、当前一次和最近一次的操作事件信息(如按键事件信息)、当前一次和最近一次的广播事件信息、当前一次和最近一次的IPC信息、或service生命周期信 息等等。
步骤S206:根据提取的场景信息进行异常分析。
具体地,可以根据提取的该应用程序运行出现异常时的操作页面的生命周期节点、该操作页面对应的TAG和ID、该事件处理器处理的事件信息、上一次事件处理器处理的事件信息、当前一次和最近一次的操作事件信息(如按键事件信息)、当前一次和最近一次的广播事件信息、当前一次和最近一次的IPC信息、以及service生命周期信息等等,进行异常分析。
进一步地,以图6a为例,结合图6b示出的本申请实施例提供的应用程序异常处理方法的另一流程示意图,再进行详细说明,图6b示出的方法可以包括如下步骤:
步骤S600:将应用程序划分多个功能模块。
步骤S602:设置每个功能模块各自对应的唯一TAG,以及每个功能模块内的每个UI各自对应的唯一ID。
步骤S604:记录基于应用程序的线程进行操作的操作页面的生命周期节点、操作页面对应的TAG和ID、线程的事件处理器处理的事件信息以及上一次所述事件处理器处理的事件信息、操作页面的操作事件信息、线程的广播事件信息、应用程序的IPC信息、线程的service生命周期信息。
具体地,步骤S600至步骤S604的实现方式可以参阅上述图2至图6a的实施例,这里不再赘述。
步骤S606:当所述应用程序运行出现异常时,从记录的所述场景信息中提取所述应用程序运行出现异常时对应的场景信息。
步骤S608:根据提取的场景信息定位所述应用程序运行出现异常时操作页面的生命周期节点。
具体地,通过提取的应用程序运行出现异常时操作页面的生命周期节点可以定位发生异常问题时应用程序所处的运行阶段。
步骤S610:根据提取的场景信息定位所述应用程序运行出现异常时操作页面对应的TAG和ID。
具体地,通过提取的应用程序运行出现异常时操作页面对应的TAG和ID,获知到应用程序进入了哪个功能模块,哪个UI,那么可以定位发生异常问题时应用程序在处理的功能模块和界面。
步骤S612:根据提取的场景信息定位所述应用程序运行出现异常时线程的事件处理器处理的事件信息以及上一次所述事件处理器处理的事件信息。
具体地,通过提取的应用程序运行出现异常时线程的事件处理器处理的事件信息以及上一次所述事件处理器处理的事件信息,可以快速定位到Handler中的哪个事件操作超时导致了其他事件被阻塞超时出现了ANR。
步骤S614:根据提取的场景信息定位所述应用程序运行出现异常时操作页面的操作事件信息。
具体地,通过提取的应用程序运行出现异常时操作页面的操作事件信息(包括点击操作back按键的up事件或者滑动页面的list事件信息等),可以进一步缩小可能出现异常问题的代码段。
步骤S616:根据提取的场景信息定位所述应用程序运行出现异常时线程的广播事件信息。
具体地,通过提取的应用程序运行出现异常时线程的广播事件信息,可以找到具体的业务模块或功能模块来源,来定位是哪个业务发出的广播信息造成了阻塞从而导致了ANR发生。
步骤S618:根据提取的场景信息定位所述应用程序运行出现异常是否由跨进程之间的通信造成的。
具体地,通过提取的应用程序运行出现异常时IPC信息,可以有助于定位应用程序出现异常问题是否是由跨进程之间的通信造成的。
步骤S620:根据提取的场景信息定位所述应用程序运行出现异常时线程的service生命周期信息。
具体地,通过提取的应用程序运行出现异常时线程的service生命周期信息,可以快速定位service中发生ANR时对应的具体业务模块。
进一步地,本申请实施例在记录基于应用程序的线程进行操作的场景信息时,可以包括:以Key-Value的方式记录基于应用程序的线程进行操作的场景信息;所述Key表征行为类型,所述Value表征行为内容。
具体地,例如记录针对应用程序的操作页面的生命周期节点时,Key可以为“Activity”的标识,以表征类型是操作页面的生命周期,对应的Value表征的行为内容即为生命周期的具体阶段,如“onCreate创建”阶段等,用于发现用户在页面的哪个生命阶段发生的ANR,可以定位到是刚进入页面就发生的ANR还是页面销毁的时候发生的ANR或者其他情况发生的ANR,结合业务就比较容易发现是哪些代码段导致的ANR。
又如,记录线程的事件处理器处理的事件信息时,Key可以为Handler事件信息,以表征类型;对应的Value可以为Handler事件的ID及其处理的时长信息,等等。
本申请实施例通过Key-Value的方式记录基于应用程序的线程进行操作的场景信息,可以更加清晰地记录基于应用程序的线程进行操作的场景信息,并节省电子设备存储信息的空间,而且在后续进行异常分析时可以更加快速的分析出结果,提高了电子设备处理器的处理速度和性能。
需要说明的是,本申请实施例的应用程序异常处理方法可以适用于个人计算机、智能移动终端(如移动电话、移动电脑、平板电脑)、个人数字助理(Personal Digital Assistant,PDA)、智能电视、智能手表、智能眼镜、智能手环等安装有应用程序的电子设备或终端设备上。
需要说明的是,本申请实施例进行异常分析的操作可以通过后台服务器来完成,也可以通过终端自身来完成。若通过后台服务器来进行异常分析,那么可以如图7示出的本申请实施例提供的应用程序异常处理 方法的另一流程示意图所示,该应用程序异常处理方法可以包括如下步骤:
步骤S700:终端记录基于应用程序的线程进行操作的场景信息;
具体地,可参考上述图2实施例中的步骤S200中的描述,这里不再赘述。
步骤S702:当应用程序运行出现异常时,终端将记录的所述场景信息发送给所述应用程序对应的后台服务器;
步骤S704:后台服务器接收所述场景信息;
步骤S706:后台服务器从记录的所述场景信息中提取所述应用程序运行出现异常时对应的场景信息;
步骤S708:后台服务器根据提取的场景信息进行异常分析。
具体地,步骤S706和S708的具体实现方式,可以参考上述图2实施例中的步骤S202和S204的实现方式,这里不再赘述。
实施本申请实施例,通过记录基于应用程序的线程进行操作的场景信息;当应用程序运行出现异常时,从记录的场景信息中提取应用程序运行出现异常时对应的场景信息;该场景信息包括针对该应用程序的操作页面的生命周期节点,以及该操作页面对应的TAG和ID等;然后根据提取的场景信息进行异常分析。本申请实施例提供的方案实现了快速准确地找到发生异常问题的原因,解决了应用程序出现异常时很难定位原因并修复的技术问题,例如解决了大部分无法跟进的ANR问题。另外,该场景信息还可以包括线程的事件处理器处理的事件信息、针对所述应用程序的操作页面的操作事件信息、以及针对所述应用程序的线程的服务(service)生命周期信息,可以进一步确认发生异常问题的具体功能模块,有利于对异常问题的跟踪和分析。
为了便于更好地实施本申请实施例的上述方案,本申请实施例还对应提供了一种应用程序异常处理装置,下面结合附图来进行详细说明。
如图8a示出的本申请实施例提供的应用程序异常处理装置的结构 示意图,应用程序异常处理装置80可以包括记录模块800、异常信息接收模块802、提取模块804和异常分析模块806,其中,
记录模块800用于记录基于应用程序的线程进行操作时的场景信息;
异常信息接收模块802用于接收指示所述应用程序运行出现异常的异常指示信息;
提取模块804用于根据所述异常指示信息,从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息;其中,所述应用程序划分有多个功能模块,每个功能模块内有多个用户界面UI;其中各个功能模块对应有各自唯一的标识TAG,各个UI对应有各自唯一的标识ID;所述记录的场景信息包括基于应用程序的线程进行操作时的操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;
异常分析模块806用于根据提取的场景信息进行异常分析。
如图8b示出的本申请实施例提供的应用程序异常处理装置的另一结构示意图,应用程序异常处理装置80还可以包括划分模块808和标识设置模块8010,其中,
划分模块808用于在提取模块804从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息之前,将应用程序划分多个功能模块;
标识设置模块8010用于设置每个功能模块各自对应的唯一TAG,以及每个UI各自对应的唯一ID。
在本申请一些实施例中,异常分析模块806还可以用于将记录的场景信息发送给所述应用程序对应的后台服务器,以使所述后台服务器从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,并根据提取的场景信息进行异常分析。
在本申请一些实施例中,提取模块804还可以用于从记录的场景信息中提取所述应用程序运行出现异常时操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;
异常分析模块806可以包括:第一定位单元,用于根据提取的场景 信息定位所述应用程序运行出现异常时操作页面的生命周期节点,以及所述操作页面对应的TAG和ID。
记录模块800记录的所述场景信息还可以包括线程的事件处理器处理的事件信息;所述事件信息包括处理事件的标识以及处理时长;
提取模块804还可以用于,从记录的所述场景信息中提取所述应用程序运行出现异常时线程的事件处理器处理的事件信息、以及上一次所述事件处理器处理的事件信息;
异常分析模块806还可以包括第二定位单元,用于根据提取的场景信息定位所述应用程序运行出现异常时线程的事件处理器处理的事件信息以及上一次所述事件处理器处理的事件信息。
记录模块800记录的所述场景信息还可以包括针对所述应用程序的操作页面的操作事件信息;
提取模块804还可以用于,从记录的所述场景信息中提取所述应用程序运行出现异常时操作页面的操作事件信息;
异常分析模块806还可以包括第三定位单元,用于根据提取的场景信息定位所述应用程序运行出现异常时操作页面的操作事件信息。
记录模块800记录的所述场景信息还可以包括针对所述应用程序的线程的广播事件信息;
提取模块804还可以用于,从记录的所述场景信息中提取所述应用程序运行出现异常时线程的广播事件信息;
异常分析模块806还可以包括第四定位单元,用于根据提取的场景信息定位所述应用程序运行出现异常时线程的广播事件信息。
记录模块800记录的所述场景信息还可以包括针对所述应用程序的线程的服务(service)生命周期信息;
提取模块804还可以用于,从记录的所述场景信息中提取所述应用程序运行出现异常时线程的service生命周期信息;
异常分析模块806还可以包括第五定位单元,用于根据提取的场景信息定位所述应用程序运行出现异常时线程的service生命周期信息。
记录模块800还可以用于,以Key-Value的方式记录基于应用程序的线程进行操作时的场景信息;所述Key表征行为类型,所述Value表征行为内容。
请参阅图9,图9是本申请实施例提供的应用程序异常处理装置的另一结构示意图。其中,如图9所示,应用程序异常处理装置90可以包括:至少一个处理器901,例如CPU,至少一个网络接口904,用户接口903,存储器905,至少一个通信总线902以及显示屏906。其中,通信总线902用于实现这些组件之间的连接通信。其中,用户接口903可以包括触摸屏等等。网络接口904可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器905可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory)或非易失性的存储器(non-transitory memory),例如至少一个磁盘存储器,存储器905包括本申请实施例中的flash。存储器905还可以是至少一个位于远离前述处理器901的存储系统。如图9所示,作为一种计算机存储介质的存储器905中可以包括操作系统、网络通信模块、用户接口模块以及机器可读指令,如应用程序异常处理程序。
在图9所示的应用程序异常处理装置90中,处理器901可以用于调用存储器905中存储的应用程序异常处理程序,并执行以下操作:
记录基于应用程序的线程进行操作时的场景信息;
接收指示所述应用程序运行出现异常的异常指示信息;
根据所述异常指示信息,从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息;其中,所述应用程序划分有多个功能模块,每个功能模块内有多个用户界面UI;其中各个功能模块对应有各自唯一的标识TAG,各个UI对应有各自唯一的标识ID;所述记录的场景信息包括基于应用程序的线程进行操作时的操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;
根据提取的场景信息进行异常分析。
在本申请实施例中,当应用程序运行出现异常时,处理器901根据所述异常指示信息,从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息之前,还执行以下操作:
将应用程序划分多个功能模块;
设置每个功能模块各自对应的唯一TAG,以及每个UI各自对应的唯一ID。
在本申请一些实施例中,处理器901从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,根据提取的场景信息进行异常分析,可以包括:
通过网络接口904将记录的场景信息发送给所述应用程序对应的后台服务器;该后台服务器用于从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,并根据提取的场景信息进行异常分析。
在本申请实施例中,处理器901从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还可以包括:从记录的场景信息中提取所述应用程序运行出现异常时操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;
处理器901根据提取的场景信息进行异常分析可以包括:根据提取的场景信息定位所述应用程序运行出现异常时操作页面的生命周期节点,以及所述操作页面对应的TAG和ID。
在本申请实施例中,记录的场景信息还包括线程的事件处理器处理的事件信息;所述事件信息包括处理事件的标识以及处理时长;
处理器901从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还可以包括:从记录的场景信息中提取所述应用程序运行出现异常时所述事件处理器处理的事件信息、以及上一次所述事件处理器处理的事件信息;
处理器901根据提取的场景信息进行异常分析还可以包括:根据提取的场景信息定位所述应用程序运行出现异常时线程的事件处理器处理的事件信息以及上一次所述事件处理器处理的事件信息。
在本申请实施例中,记录的场景信息还包括针对所述应用程序的操作页面的操作事件信息;
处理器901从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还可以包括:从记录的场景信息中提取所述应用程序运行出现异常时的操作事件信息;
处理器901根据提取的场景信息进行异常分析还可以包括:根据提取的场景信息定位所述应用程序运行出现异常时操作页面的操作事件信息。
在本申请实施例中,记录的场景信息还包括针对所述应用程序的线程的广播事件信息;
处理器901从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还可以包括:从记录的场景信息中提取所述应用程序运行出现异常时的线程的广播事件信息;
处理器901根据提取的场景信息进行异常分析还可以包括:根据提取的场景信息定位所述应用程序运行出现异常时线程的广播事件信息。
在本申请实施例中,记录的场景信息还包括针对所述应用程序的线程的服务(service)生命周期信息;
处理器901从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还可以包括:从记录的场景信息中提取所述应用程序运行出现异常时的线程的service生命周期信息;
处理器901根据提取的场景信息进行异常分析还可以包括:根据提取的场景信息定位所述应用程序运行出现异常时线程的service生命周期信息。
在本申请实施例中,处理器901记录基于应用程序的线程进行操作的场景信息,可以包括:
以Key-Value的方式记录基于应用程序的线程进行操作时的场景信息;所述Key表征行为类型,所述Value表征行为内容。
需要说明的是,本申请实施例中的应用程序异常处理装置80或应 用程序异常处理装置90中各模块的功能可对应参考上述各方法实施例中图1至图7任意实施例的具体实现方式,这里不再赘述。应用程序异常处理装置80或应用程序异常处理装置90可以包括但不限于个人计算机、智能移动终端(如移动电话、移动电脑、平板电脑)、个人数字助理(Personal Digital Assistant,PDA)、智能电视、智能手表、智能眼镜、智能手环等安装有应用程序的电子设备或终端设备。
图10示出了本申请实施例提供的应用程序异常处理系统的结构示意图,应用程序异常处理系统100可以包括终端设备1000和后台服务器1002,其中该终端设备1000可以为本申请实施例中的应用程序异常处理装置80或应用程序异常处理装置90。在本申请一些实施例中,终端设备1000在记录基于应用程序的线程进行操作的场景信息后,若应用程序运行出现异常时,将记录的所述场景信息发送给所述应用程序对应的后台服务器1002,后台服务器1002从记录的所述场景信息中提取所述应用程序运行出现异常时对应的场景信息,并根据提取的场景信息进行异常分析。在本申请另外一些实施例中,终端设备1000可自己进行异常分析,即终端设备1000在记录基于应用程序的线程进行操作的场景信息后,若应用程序运行出现异常时,终端设备1000从记录的所述场景信息中提取所述应用程序运行出现异常时对应的场景信息,并根据提取的场景信息进行异常分析。
实施本申请实施例,通过记录基于应用程序的线程进行操作的场景信息;当应用程序运行出现异常时,从记录的场景信息中提取应用程序运行出现异常时对应的场景信息;该场景信息包括针对该应用程序的操作页面的生命周期节点,以及该操作页面对应的TAG和ID等;然后根据提取的场景信息进行异常分析。本申请实施例提供的方案实现了快速准确地找到发生异常问题的原因,解决了应用程序出现异常时很难定位原因并修复的技术问题,例如解决了大部分无法跟进的ANR问题。另外,该场景信息还可以包括线程的事件处理器处理的事件信息、针对所述应用程序的操作页面的操作事件信息、以及针对所述应用程序的线程 的服务(service)生命周期信息,可以进一步确认发生异常问题的具体功能模块,有利于对异常问题的跟踪和分析。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (21)
- 一种应用程序异常处理方法,应用于电子设备,包括:记录基于应用程序的线程进行操作时的场景信息;接收指示所述应用程序运行出现异常的异常指示信息;根据所述异常指示信息,从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息;其中,所述应用程序划分有多个功能模块,每个功能模块内有多个用户界面UI,其中各个功能模块对应有各自唯一的标识TAG,各个UI对应有各自唯一的标识ID,所述记录的场景信息包括基于应用程序的线程进行操作时的操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;根据提取的场景信息进行异常分析。
- 如权利要求1所述的方法,所述根据所述异常指示信息,从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息之前,还包括:将所述应用程序划分多个功能模块;设置每个功能模块各自对应的唯一TAG,以及每个UI各自对应的唯一ID。
- 如权利要求1所述的方法,所述从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,根据提取的场景信息进行异常分析,包括:将记录的场景信息发送给所述应用程序对应的后台服务器,以使所述后台服务器从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,并根据提取的场景信息进行异常分析。
- 如权利要求1-3任一项所述的方法,所述从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还包括:从记录的场景信息中提取所述应用程序运行出现异常时操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;所述根据提取的场景信息进行异常分析包括:根据提取的场景信息 定位所述应用程序运行出现异常时操作页面的生命周期节点,以及所述操作页面对应的TAG和ID。
- 如权利要求4所述的方法,所述记录的场景信息还包括线程的事件处理器处理的事件信息,所述事件信息包括处理事件的标识以及处理时长;所述从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还包括:从记录的场景信息中提取所述应用程序运行出现异常时所述事件处理器处理的事件信息、以及上一次所述事件处理器处理的事件信息;所述根据提取的场景信息进行异常分析还包括:根据提取的场景信息定位所述应用程序运行出现异常时线程的事件处理器处理的事件信息以及上一次所述事件处理器处理的事件信息。
- 如权利要求5所述的方法,所述记录的场景信息还包括针对所述应用程序的操作页面的操作事件信息;所述从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还包括:从记录的场景信息中提取所述应用程序运行出现异常时的操作事件信息;所述根据提取的场景信息进行异常分析还包括:根据提取的场景信息定位所述应用程序运行出现异常时操作页面的操作事件信息。
- 如权利要求6所述的方法,所述记录的场景信息还包括针对所述应用程序的线程的广播事件信息;所述从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还包括:从记录的场景信息中提取所述应用程序运行出现异常时的线程的广播事件信息;所述根据提取的场景信息进行异常分析还包括:根据提取的场景信息定位所述应用程序运行出现异常时线程的广播事件信息。
- 一种应用程序异常处理装置,包括:处理器以及与所述处理器相连接的存储器,所述存储器中存储有可 由所述处理器执行的机器可读指令,所述处理器执行所述机器可读指令完成以下操作:记录基于应用程序的线程进行操作时的场景信息;接收指示所述应用程序运行出现异常的异常指示信息;根据所述异常指示信息,从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息;其中,所述应用程序划分有多个功能模块,每个功能模块内有多个用户界面UI,其中各个功能模块对应有各自唯一的标识TAG,各个UI对应有各自唯一的标识ID,所述记录的场景信息包括基于应用程序的线程进行操作时的操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;根据提取的场景信息进行异常分析。
- 如权利要求8所述的装置,所述处理器执行所述机器可读指令完成以下操作:在所述从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息之前,将所述应用程序划分多个功能模块;设置每个功能模块各自对应的唯一TAG,以及每个UI各自对应的唯一ID。
- 如权利要求9所述的装置,所述处理器执行所述机器可读指令完成以下操作:将记录的场景信息发送给所述应用程序对应的后台服务器,以使所述后台服务器从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,并根据提取的场景信息进行异常分析。
- 如权利要求8-10任一项所述的装置,所述处理器执行所述机器可读指令完成以下操作:从记录的场景信息中提取所述应用程序运行出现异常时操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;根据提取的场景信息定位所述应用程序运行出现异常时操作页面的生命周期节点,以及所述操作页面对应的TAG和ID。
- 如权利要求11所述的装置,记录的所述场景信息还包括线程的事件处理器处理的事件信息,所述事件信息包括处理事件的标识以及处理时长;所述处理器执行所述机器可读指令完成以下操作:从记录的所述场景信息中提取所述应用程序运行出现异常时线程的事件处理器处理的事件信息、以及上一次所述事件处理器处理的事件信息;根据提取的场景信息定位所述应用程序运行出现异常时线程的事件处理器处理的事件信息以及上一次所述事件处理器处理的事件信息。
- 如权利要求12所述的装置,记录的所述场景信息还包括针对所述应用程序的操作页面的操作事件信息;所述处理器执行所述机器可读指令完成以下操作:从记录的所述场景信息中提取所述应用程序运行出现异常时操作页面的操作事件信息;根据提取的场景信息定位所述应用程序运行出现异常时操作页面的操作事件信息。
- 如权利要求13所述的装置,记录的所述场景信息还包括针对所述应用程序的线程的广播事件信息;所述处理器执行所述机器可读指令完成以下操作:从记录的所述场景信息中提取所述应用程序运行出现异常时线程的广播事件信息;根据提取的场景信息定位所述应用程序运行出现异常时线程的广播事件信息。
- 一种非易失性计算机可读存储介质,所述存储介质中存储有机器可读指令,所述机器可读指令可以由处理器执行以完成以下操作:记录基于应用程序的线程进行操作时的场景信息;接收指示所述应用程序运行出现异常的异常指示信息;根据所述异常指示信息,从记录的场景信息中提取所述应用程序运 行出现异常时对应的场景信息;其中,所述应用程序划分有多个功能模块,每个功能模块内有多个用户界面UI,其中各个功能模块对应有各自唯一的标识TAG,各个UI对应有各自唯一的标识ID,所述记录的场景信息包括基于应用程序的线程进行操作时的操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;根据提取的场景信息进行异常分析。
- 如权利要求15所述的非易失性计算机可读存储介质,所述根据所述异常指示信息,从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息之前,还包括:将所述应用程序划分多个功能模块;设置每个功能模块各自对应的唯一TAG,以及每个UI各自对应的唯一ID。
- 如权利要求15所述的非易失性计算机可读存储介质,所述从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,根据提取的场景信息进行异常分析,包括:将记录的场景信息发送给所述应用程序对应的后台服务器,以使所述后台服务器从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,并根据提取的场景信息进行异常分析。
- 如权利要求15-17任一项所述的非易失性计算机可读存储介质,所述从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还包括:从记录的场景信息中提取所述应用程序运行出现异常时操作页面的生命周期节点,以及所述操作页面对应的TAG和ID;所述根据提取的场景信息进行异常分析包括:根据提取的场景信息定位所述应用程序运行出现异常时操作页面的生命周期节点,以及所述操作页面对应的TAG和ID。
- 如权利要求18所述的非易失性计算机可读存储介质,所述记录的场景信息还包括线程的事件处理器处理的事件信息,所述事件信息包括处理事件的标识以及处理时长;所述从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还包括:从记录的场景信息中提取所述应用程序运行出现异常时所述事件处理器处理的事件信息、以及上一次所述事件处理器处理的事件信息;所述根据提取的场景信息进行异常分析还包括:根据提取的场景信息定位所述应用程序运行出现异常时线程的事件处理器处理的事件信息以及上一次所述事件处理器处理的事件信息。
- 如权利要求19所述的非易失性计算机可读存储介质,所述记录的场景信息还包括针对所述应用程序的操作页面的操作事件信息;所述从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还包括:从记录的场景信息中提取所述应用程序运行出现异常时的操作事件信息;所述根据提取的场景信息进行异常分析还包括:根据提取的场景信息定位所述应用程序运行出现异常时操作页面的操作事件信息。
- 如权利要求20所述的非易失性计算机可读存储介质,所述记录的场景信息还包括针对所述应用程序的线程的广播事件信息;所述从记录的场景信息中提取所述应用程序运行出现异常时对应的场景信息,还包括:从记录的场景信息中提取所述应用程序运行出现异常时的线程的广播事件信息;所述根据提取的场景信息进行异常分析还包括:根据提取的场景信息定位所述应用程序运行出现异常时线程的广播事件信息。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/504,810 US10838838B2 (en) | 2017-04-26 | 2019-07-08 | Method and apparatus for dealing with abnormality of application program and storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710282449.5A CN108804299B (zh) | 2017-04-26 | 2017-04-26 | 应用程序异常处理方法及装置 |
| CN201710282449.5 | 2017-04-26 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/504,810 Continuation US10838838B2 (en) | 2017-04-26 | 2019-07-08 | Method and apparatus for dealing with abnormality of application program and storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018196559A1 true WO2018196559A1 (zh) | 2018-11-01 |
Family
ID=63920163
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2018/081525 Ceased WO2018196559A1 (zh) | 2017-04-26 | 2018-04-02 | 应用程序异常处理方法、装置及存储介质 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US10838838B2 (zh) |
| CN (1) | CN108804299B (zh) |
| WO (1) | WO2018196559A1 (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111176874A (zh) * | 2019-12-23 | 2020-05-19 | 京东数字科技控股有限公司 | 应用程序异常退出的处理方法、装置、设备及存储介质 |
| CN111752599A (zh) * | 2020-06-23 | 2020-10-09 | 厦门美柚股份有限公司 | 应用程序的异常处理方法、装置、终端及介质 |
| CN113835985A (zh) * | 2021-09-27 | 2021-12-24 | 北京基调网络股份有限公司 | 一种监测卡顿、分析卡顿原因的方法、装置及设备 |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109542689A (zh) * | 2018-11-30 | 2019-03-29 | 努比亚技术有限公司 | 应用程序处理方法、终端以及计算机可读存储介质 |
| CN109840203B (zh) * | 2018-12-19 | 2022-05-10 | 珠海妙存科技有限公司 | 一种基于消息映射的vr自动化测试方法 |
| CN111367750B (zh) * | 2018-12-26 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 一种异常处理方法、装置及其设备 |
| CN110471817A (zh) * | 2019-07-04 | 2019-11-19 | 厦门安盟网络股份有限公司 | 应用程序生命周期的监控方法、介质、设备及装置 |
| CN110489318B (zh) * | 2019-08-20 | 2023-04-28 | Oppo(重庆)智能科技有限公司 | systrace信息的抓取方法、装置、存储介质及终端 |
| CN112835781B (zh) * | 2019-11-25 | 2024-09-13 | 上海哔哩哔哩科技有限公司 | 一种操作功能的异常检测方法及装置 |
| CN111338705B (zh) * | 2020-02-13 | 2021-03-26 | 北京房江湖科技有限公司 | 一种数据处理的方法、装置和存储介质 |
| CN111488088B (zh) * | 2020-04-07 | 2022-05-06 | Oppo广东移动通信有限公司 | 设备状态标识方法、装置及智能终端 |
| CN111930616B (zh) * | 2020-07-27 | 2024-03-19 | 北京大米未来科技有限公司 | 数据处理方法、装置、电子设备和可读存储介质 |
| CN112817790B (zh) * | 2021-03-02 | 2024-06-28 | 腾讯音乐娱乐科技(深圳)有限公司 | 模拟用户行为的方法 |
| CN113835961B (zh) * | 2021-09-23 | 2023-05-16 | 中国联合网络通信集团有限公司 | 告警信息监控方法、装置、服务器及存储介质 |
| CN116089133B (zh) * | 2021-11-08 | 2025-11-04 | 中移(苏州)软件技术有限公司 | 一种异常业务场景检测方法、装置、计算设备和存储介质 |
| CN114356660A (zh) * | 2021-12-28 | 2022-04-15 | 上海途虎信息技术有限公司 | 一种安卓自动化的容错方法、装置、设备及存储介质 |
| CN114996098B (zh) * | 2022-06-24 | 2024-04-09 | 中电金信软件有限公司 | 一种异常处理方法及装置 |
| CN114880159B (zh) * | 2022-07-13 | 2022-09-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8516295B2 (en) * | 2010-03-23 | 2013-08-20 | Ca, Inc. | System and method of collecting and reporting exceptions associated with information technology services |
| CN104992117A (zh) * | 2015-06-16 | 2015-10-21 | 北京航空航天大学 | Html5移动应用程序的异常行为检测方法和行为模型建立方法 |
| CN105279433A (zh) * | 2014-07-10 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 一种应用程序的防护方法及装置 |
| CN105528295A (zh) * | 2016-01-04 | 2016-04-27 | 北京航空航天大学 | 移动应用程序异常行为检测方法及装置 |
| CN106155741A (zh) * | 2016-06-30 | 2016-11-23 | 努比亚技术有限公司 | 一种避免应用程序无响应的处理装置及方法 |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8661299B1 (en) * | 2013-05-31 | 2014-02-25 | Linkedin Corporation | Detecting abnormalities in time-series data from an online professional network |
| CN104424198B (zh) * | 2013-08-21 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种页面显示速度的获取方法及装置 |
| CN104424094B (zh) * | 2013-08-26 | 2019-04-23 | 腾讯科技(深圳)有限公司 | 一种异常信息获取方法、装置及智能终端设备 |
| US9274894B1 (en) * | 2013-12-09 | 2016-03-01 | Twitter, Inc. | System and method for providing a watchdog timer to enable collection of crash data |
| CN103995715B (zh) * | 2014-05-06 | 2017-11-17 | 百度在线网络技术(北京)有限公司 | 应用程序的修复方法、装置及服务器 |
| US9645880B2 (en) * | 2014-09-11 | 2017-05-09 | Sap Se | Supportability framework for mobile software applications |
| US9594666B2 (en) * | 2014-10-09 | 2017-03-14 | International Business Machines Corporation | Enhancing weak consistency |
| CN104503893B (zh) * | 2014-12-22 | 2018-01-30 | 上海斐讯数据通信技术有限公司 | 一种android 系统中Activity 状态信息保存、解析方法、及电子终端 |
| US9842017B1 (en) * | 2015-03-30 | 2017-12-12 | Amazon Technologies, Inc. | Collection and aggregation of device health metrics |
| CN106161740A (zh) * | 2015-04-01 | 2016-11-23 | 北京蓝海讯通科技有限公司 | 一种移动应用运行异常状态下的场景数据抓取方法和装置 |
| EP3106990A1 (en) * | 2015-06-19 | 2016-12-21 | Ecole Nationale de l'Aviation Civile | A method, software and processing unit for verifying properties of interactive components |
| CN105204979B (zh) * | 2015-07-28 | 2018-09-04 | 维沃移动通信有限公司 | 安卓日志的记录方法及移动终端 |
| CN105843741B (zh) * | 2016-03-24 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 应用程序的信息处理方法和装置 |
| CN106502817A (zh) * | 2016-10-26 | 2017-03-15 | 努比亚技术有限公司 | 一种处理数据的方法和终端 |
| US10223236B2 (en) * | 2017-02-03 | 2019-03-05 | International Business Machines Corporation | Dynamic crash detection and debugging assistance |
| US10169194B2 (en) * | 2017-03-22 | 2019-01-01 | International Business Machines Corporation | Multi-thread sequencing |
| US10911447B2 (en) * | 2017-10-12 | 2021-02-02 | Sap Se | Application error fingerprinting |
-
2017
- 2017-04-26 CN CN201710282449.5A patent/CN108804299B/zh active Active
-
2018
- 2018-04-02 WO PCT/CN2018/081525 patent/WO2018196559A1/zh not_active Ceased
-
2019
- 2019-07-08 US US16/504,810 patent/US10838838B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8516295B2 (en) * | 2010-03-23 | 2013-08-20 | Ca, Inc. | System and method of collecting and reporting exceptions associated with information technology services |
| CN105279433A (zh) * | 2014-07-10 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 一种应用程序的防护方法及装置 |
| CN104992117A (zh) * | 2015-06-16 | 2015-10-21 | 北京航空航天大学 | Html5移动应用程序的异常行为检测方法和行为模型建立方法 |
| CN105528295A (zh) * | 2016-01-04 | 2016-04-27 | 北京航空航天大学 | 移动应用程序异常行为检测方法及装置 |
| CN106155741A (zh) * | 2016-06-30 | 2016-11-23 | 努比亚技术有限公司 | 一种避免应用程序无响应的处理装置及方法 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111176874A (zh) * | 2019-12-23 | 2020-05-19 | 京东数字科技控股有限公司 | 应用程序异常退出的处理方法、装置、设备及存储介质 |
| CN111752599A (zh) * | 2020-06-23 | 2020-10-09 | 厦门美柚股份有限公司 | 应用程序的异常处理方法、装置、终端及介质 |
| CN113835985A (zh) * | 2021-09-27 | 2021-12-24 | 北京基调网络股份有限公司 | 一种监测卡顿、分析卡顿原因的方法、装置及设备 |
| CN113835985B (zh) * | 2021-09-27 | 2023-09-29 | 北京基调网络股份有限公司 | 一种监测卡顿、分析卡顿原因的方法、装置及设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN108804299A (zh) | 2018-11-13 |
| US20190332513A1 (en) | 2019-10-31 |
| CN108804299B (zh) | 2023-04-07 |
| US10838838B2 (en) | 2020-11-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2018196559A1 (zh) | 应用程序异常处理方法、装置及存储介质 | |
| US11023355B2 (en) | Dynamic tracing using ranking and rating | |
| US10275355B2 (en) | Method and apparatus for cleaning files in a mobile terminal and associated mobile terminal | |
| US10481964B2 (en) | Monitoring activity of software development kits using stack trace analysis | |
| CN104598380B (zh) | 一种基于控件的自动化测试方法及系统 | |
| US9129058B2 (en) | Application monitoring through continuous record and replay | |
| WO2018120721A1 (zh) | 用户界面的测试方法、系统、电子装置及计算机可读存储介质 | |
| US9372776B2 (en) | Monitoring user activity and performance of computerized devices | |
| US11726860B2 (en) | Intelligent automatic support | |
| JP6259522B2 (ja) | ソフトウェア障害の位置標定方法、装置及び設備 | |
| WO2021082484A1 (zh) | Awr报告自动获取方法、装置、电子设备及存储介质 | |
| WO2015116064A1 (en) | End user monitoring to automate issue tracking | |
| WO2019140739A1 (zh) | 客户回访的判断方法、电子装置及计算机可读存储介质 | |
| WO2018188380A1 (zh) | 一种添加控件标识的方法和装置 | |
| CN113792341A (zh) | 应用程序的隐私合规自动化检测方法、装置、设备及介质 | |
| CN111435326B (zh) | 一种分析崩溃日志的方法和装置 | |
| WO2017206476A1 (zh) | 一种cpu占用的检测方法、装置及设备 | |
| CN117034255A (zh) | 应用报错修复方法、装置、设备和介质 | |
| US11188449B2 (en) | Automated exception resolution during a software development session based on previous exception encounters | |
| CN114356290A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
| CN110413516B (zh) | 识别慢sql代码的方法及装置和电子设备 | |
| CN111414253A (zh) | 垃圾回收GC信息处理方法、Java虚拟机及计算机存储介质 | |
| CN110837433A (zh) | 性能优化方法、装置及电子设备 | |
| CN115599637A (zh) | 内存溢出检测方法、装置、系统、存储介质及计算机设备 | |
| CN118606027A (zh) | 用于网页的流程执行方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18790216 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18790216 Country of ref document: EP Kind code of ref document: A1 |