CN111782504A - Application program abnormity diagnosis method, mobile terminal and readable storage medium - Google Patents

Application program abnormity diagnosis method, mobile terminal and readable storage medium Download PDF

Info

Publication number
CN111782504A
CN111782504A CN202010431121.7A CN202010431121A CN111782504A CN 111782504 A CN111782504 A CN 111782504A CN 202010431121 A CN202010431121 A CN 202010431121A CN 111782504 A CN111782504 A CN 111782504A
Authority
CN
China
Prior art keywords
application program
mobile terminal
plug
information
page
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.)
Granted
Application number
CN202010431121.7A
Other languages
Chinese (zh)
Other versions
CN111782504B (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.)
CHEZHI HULIAN (BEIJING) SCIENCE & TECHNOLOGY CO LTD
Original Assignee
CHEZHI HULIAN (BEIJING) SCIENCE & TECHNOLOGY 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 CHEZHI HULIAN (BEIJING) SCIENCE & TECHNOLOGY CO LTD filed Critical CHEZHI HULIAN (BEIJING) SCIENCE & TECHNOLOGY CO LTD
Priority to CN202010431121.7A priority Critical patent/CN111782504B/en
Publication of CN111782504A publication Critical patent/CN111782504A/en
Application granted granted Critical
Publication of CN111782504B publication Critical patent/CN111782504B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Abstract

The invention discloses a method for diagnosing application program abnormity, which is suitable for being executed in a mobile terminal, wherein the mobile terminal is provided with an application program and is in communication connection with a server, and the method comprises the following steps: when the application program is executed abnormally and exits from execution, collecting first execution information of the application program when exiting execution; when the application program is started again, determining library information which is called finally when the application program exits from execution according to the first execution information and the execution environment of the application program; acquiring the name and symbolic address of the plug-in causing the abnormality according to the finally called library information, and recording the name and symbolic address in a reporting request; the invention also discloses a corresponding mobile terminal and a readable storage medium.

Description

Application program abnormity diagnosis method, mobile terminal and readable storage medium
Technical Field
The invention relates to the field of data processing, in particular to a method for diagnosing application program abnormity, a mobile terminal, a server and computing equipment.
Background
With the increasing number of functions carried by an application program, a large number of plug-ins need to be embedded into the application program to realize different functions, the application program is increasingly huge, the application program can be suddenly interrupted and quitted due to the instability of some plug-ins at some times, software cannot be used directly when the situation is serious, user experience is affected, in order to collect error information and form statistical data, developers can quickly locate problems through data analysis, the stability of the application program is maintained, the flash degeneration of the application program needs to be analyzed, wrong behaviors are classified and counted, and particularly, it is very important to distinguish the plug-ins which cause the quitting of the application program.
The plug-ins have two forms, one is a dynamic library plug-in, the other is a static library plug-in, binary files generated by the dynamic library during compiling are independent and cannot be merged into a main binary, the dynamic library has own dsyms files, information of the dynamic library can be independently embodied in a thread stack, and for compiling the static library, the static library can be linked into target codes during program compiling, so that the binary of the static library can be merged into the main binary and loaded when an app is started, and the problem of which static library is split from the main binary needs to be analyzed and analyzed by combining the dsyms of the static library, so different forms are needed when different forms of plug-ins are distinguished.
Disclosure of Invention
To this end, the present invention provides an anomaly diagnosis method for an application program in an attempt to solve or at least alleviate the above-existing problems.
According to one aspect of the invention, a method for diagnosing application program abnormity is provided, which is suitable for being executed in a mobile terminal, the mobile terminal is provided with an application program and is in communication connection with a server, and the method comprises the following steps: when the application program is executed abnormally and exits from execution, collecting first execution information of the application program when exiting execution; when the application program is started again, determining library information which is called finally when the application program exits from execution according to the first execution information and the execution environment of the application program; acquiring the name and symbolic address of the plug-in causing the abnormality according to the finally called library information, and recording the name and symbolic address in a reporting request; and transmitting the report request to the server so that the server determines the plug-in causing the abnormal exit of the application program according to the report request.
Optionally, in the method for diagnosing an application program exception according to the present invention, the method further includes: recording the page name of each access page of the user, and generating a page access path of the user; and acquiring the memory address of the last access page in the page access path and the plug-in to which the last access page belongs.
Optionally, in the method for diagnosing an application program exception according to the present invention, the report request further includes a page access path, a memory address of a last access page, a plug-in to which the last access page belongs, a mobile terminal CPU type, and a unique identifier of the mobile terminal device.
Optionally, in the method for diagnosing an application program exception according to the present invention, the report request includes an information field and an access path field.
Optionally, in the method for diagnosing an application program exception according to the present invention, the information field includes a name of a plug-in causing the exception, a symbolized address, a CPU type of the mobile terminal, a unique identifier of the mobile terminal device, a memory address of the last access page, and a plug-in to which the last access page belongs.
Optionally, in the method for diagnosing an application exception according to the present invention, the access path field includes a page access path.
According to still another aspect of the present invention, there is provided a mobile terminal including: one or more processors; a memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing the method for diagnosing application program exceptions according to the present invention.
According to still another aspect of the present invention, there is provided a computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a mobile terminal, cause the mobile terminal to perform a method of diagnosing application program abnormality according to the present invention.
According to the diagnosis method for the application program abnormity, the diagnosis method for the application program abnormity is provided and is suitable for being executed in a server, the server is in communication connection with a mobile terminal, and the method comprises the following steps: receiving a reporting request sent by a mobile terminal; symbolizing a reporting request to obtain plug-in information causing abnormity; and displaying the plug-in information causing the exception to the operation platform.
Optionally, in the method for diagnosing an application program exception according to the present invention, the report request includes an information field and an access path field.
Optionally, in the method for diagnosing an application program exception according to the present invention, the information field includes a name of a plug-in causing the exception, a symbolized address, a CPU type of the mobile terminal, a unique identifier of the mobile terminal device, a memory address of a last access page, and a plug-in to which the last access page belongs.
Optionally, in the method for diagnosing an application program exception according to the present invention, the access path field includes a page access path of the user.
Optionally, in the method for diagnosing an application program exception according to the present invention, symbolizing the report request to obtain information of the plug-in causing the exception includes: symbolizing the reporting request to obtain symbolized reporting request information; acquiring a specific code position causing abnormity of the application program from the signed report request information; judging whether the code position causing the abnormity is in a main function of the application program; if so, determining the plug-in causing the abnormality according to the memory address of the last access page of the information field in the report request and the plug-in to which the last access page belongs; if not, the signed report request information is directly displayed to the operation platform without processing.
Optionally, in the method for diagnosing an application program exception according to the present invention, determining, according to the memory address of the last access page of the information field in the report request and the plug-in to which the last access page belongs, the plug-in causing the exception includes: judging whether the plug-in to which the last access page belongs is a static library plug-in or not; if so, acquiring a plug-in causing abnormity according to the memory address of the last access page; if not, the plug-in to which the last access page belongs is the plug-in causing the exception.
According to yet another aspect of the invention, there is provided a computing device comprising: one or more processors; a memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing the method for diagnosing application program exceptions according to the present invention.
According to yet another aspect of the present invention, there is provided a computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing device, cause the computing device to perform a method of diagnosing application program exceptions according to the present invention.
According to the exception handling method of the application program, the process information of the mobile terminal is collected when the application program is flashed off, and the process information of the mobile terminal is compared when the application program is started next time, so that the final exception plug-in information is obtained.
In addition, according to the exception handling method provided by the invention, the back-end server can be combined, and when the plug-ins cannot be distinguished through the flash quit information, the flash quit information is classified through the last path browsed by the user, so that the developer can quickly locate the problem in the development process, and the software stability is maintained.
Drawings
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings, which are indicative of various ways in which the principles disclosed herein may be practiced, and all aspects and equivalents thereof are intended to be within the scope of the claimed subject matter. The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description read in conjunction with the accompanying drawings. Throughout this disclosure, like reference numerals generally refer to like parts or elements.
FIG. 1 illustrates a block diagram of a mobile terminal 100 according to one embodiment of the present invention;
FIG. 2 illustrates a block diagram of a computing device 200, according to one embodiment of the invention;
FIG. 3 illustrates a schematic diagram of a method 300 for diagnosing application exceptions, according to one embodiment of the present invention;
FIG. 4 shows a schematic diagram of an exception handling method 400 for an application according to one embodiment of the invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
Fig. 1 is a block diagram of a mobile terminal 100, and the mobile terminal 100 may include a memory interface 102, one or more data processors, image processors and/or central processing units 104, and a peripheral interface 106.
The memory interface 102, the one or more processors 104, and/or the peripherals interface 106 can be discrete components or can be integrated in one or more integrated circuits. In the mobile terminal 100, the various elements may be coupled by one or more communication buses or signal lines. Sensors, devices, and subsystems can be coupled to peripheral interface 106 to facilitate a variety of functions.
For example, a motion sensor 110, a light sensor 112, and a distance sensor 114 may be coupled to the peripheral interface 106 to facilitate directional, lighting, and ranging functions. Other sensors 116 may also be coupled to the peripheral interface 106, such as a positioning system (e.g., a GPS receiver), a temperature sensor, a biometric sensor, or other sensing device, to facilitate related functions.
Camera subsystem 120 and optical sensor 122 may be used to facilitate such things asAn implementation of a camera function to record photos and video clips, wherein the camera subsystem and optical sensor may be, for example, a Charge Coupled Device (CCD) or a Complementary Metal Oxide Semiconductor (CMOS) optical sensor. Communication functions may be facilitated by one or more wireless communication subsystems 124, which may include radio frequency receivers and transmitters and/or optical (e.g., infrared) receivers and transmitters. The particular design and implementation of the wireless communication subsystem 124 may depend on the one or more communication networks supported by the mobile terminal 100. For example, the mobile terminal 100 may include a network designed to support LTE, 3G, GSM networks, GPRS networks, EDGE networks, Wi-Fi or WiMax networks, and BluetoothTMA communication subsystem 124 of the network.
The audio subsystem 126 may be coupled to a speaker 128 and a microphone 130 to facilitate voice-enabled functions, such as voice recognition, voice replication, digital recording, and telephony functions. The I/O subsystem 140 may include a touch screen controller 142 and/or one or more other input controllers 144. The touch screen controller 142 may be coupled to a touch screen 146. For example, the touch screen 146 and touch screen controller 142 may detect contact and movement or pauses made therewith using any of a variety of touch sensing technologies, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies. One or more other input controllers 144 may be coupled to other input/control devices 148 such as one or more buttons, rocker switches, thumbwheels, infrared ports, USB ports, and/or pointing devices such as styluses. The one or more buttons (not shown) may include up/down buttons for controlling the volume of the speaker 128 and/or microphone 130.
The memory interface 102 may be coupled with a memory 150. The memory 150 may include high speed random access memory and/or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and/or flash memory (e.g., NAND, NOR). The memory 150 may store an operating system 172, such as an operating system like Android, iOS or Windows Phone. The operating system 172 may include instructions for handling basic system services and for performing hardware dependent tasks. The memory 150 may also store a program 174. While the mobile device is running, the operating system 172 is loaded from the memory 150 and executed by the processor 104. The program 174 is also loaded from the memory 150 and executed by the processor 104 when running. The program 174 runs on top of the operating system, and implements various user-desired functions, such as instant messaging, web browsing, picture management, and the like, using interfaces provided by the operating system and underlying hardware. The program 174 may be provided separately from the operating system or may be self-contained. In addition, when the program 174 is installed in the mobile terminal 100, a driver module may be added to the operating system. In some embodiments, the mobile terminal 100 is configured to perform a method 300 of diagnosing application anomalies in accordance with the present invention. Among other things, one or more programs 174 of the mobile terminal 100 include instructions for performing a method 300 for diagnosing application anomalies in accordance with the present invention.
FIG. 2 shows a block diagram of a computing device 200, according to one embodiment of the invention. In a basic configuration 202, computing device 200 typically includes system memory 206 and one or more processors 204. A memory bus 208 may be used for communication between the processor 204 and the system memory 206.
Depending on the desired configuration, the processor 204 may be any type of processing, including but not limited to: a microprocessor (μ P), a microcontroller (μ C), a Digital Signal Processor (DSP), or any combination thereof. The processor 204 may include one or more levels of cache, such as a level one cache 210 and a level two cache 212, a processor core 214, and registers 216. Example processor cores 214 may include Arithmetic Logic Units (ALUs), Floating Point Units (FPUs), digital signal processing cores (DSP cores), or any combination thereof. The example memory controller 218 may be used with the processor 204, or in some implementations the memory controller 218 may be an internal part of the processor 204.
Depending on the desired configuration, system memory 206 may be any type of memory, including but not limited to: volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. The physical memory in the computing device is usually referred to as a volatile memory RAM, and data in the disk needs to be loaded into the physical memory to be read by the processor 204. System memory 206 may include an operating system 220, one or more applications 222, and program data 224. In some implementations, the application 222 can be arranged to execute instructions on the operating system with the program data 224 by the one or more processors 204. Operating system 220 may be, for example, Linux, Windows, or the like, which includes program instructions for handling basic system services and for performing hardware-dependent tasks. The application 222 includes program instructions for implementing various user-desired functions, and the application 222 may be, for example, but not limited to, a browser, instant messenger, a software development tool (e.g., an integrated development environment IDE, a compiler, etc.), and the like. When the application 222 is installed into the computing device 200, a driver module may be added to the operating system 220.
When the computing device 200 is started, the processor 204 reads program instructions of the operating system 220 from the memory 206 and executes them. Applications 222 run on top of operating system 220, utilizing the interface provided by operating system 220 and the underlying hardware to implement various user-desired functions. When the user starts the application 222, the application 222 is loaded into the memory 206, and the processor 204 reads the program instructions of the application 222 from the memory 206 and executes the program instructions.
Computing device 200 may also include an interface bus 240 that facilitates communication from various interface devices (e.g., output devices 242, peripheral interfaces 244, and communication devices 246) to the basic configuration 202 via the bus/interface controller 230. The example output device 142 includes a graphics processing unit 248 and an audio processing unit 250. They may be configured to facilitate communication with various external devices, such as a display or speakers, via one or more a/V ports 252. Example peripheral interfaces 244 can include a serial interface controller 254 and a parallel interface controller 256, which can be configured to facilitate communications with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device) or other peripherals (e.g., printer, scanner, etc.) via one or more I/O ports 258. An example communication device 246 may include a network controller 260, which may be arranged to facilitate communications with one or more other computing devices 262 over a network communication link via one or more communication ports 264.
A network communication link may be one example of a communication medium. Communication media may typically be embodied by computer readable instructions, data structures, program modules, and may include any information delivery media, such as carrier waves or other transport mechanisms, in a modulated data signal. A "modulated data signal" may be a signal that has one or more of its data set or its changes made in such a manner as to encode information in the signal. By way of non-limiting example, communication media may include wired media such as a wired network or private-wired network, and various wireless media such as acoustic, Radio Frequency (RF), microwave, Infrared (IR), or other wireless media. The term computer readable media as used herein may include both storage media and communication media.
In the computing device 200 according to the present invention, the application 222 includes instructions for performing the application program exception diagnostic method 400 of the present invention, which may instruct the processor 204 to perform the instructions of the application program exception diagnostic method 400 of the present invention.
Fig. 3 is a flowchart illustrating a method 300 for diagnosing an application program exception according to an embodiment of the present invention, where the method 300 may be executed in the mobile terminal shown in fig. 1, and completes a process of collecting and reporting the flash-back information of the mobile terminal to the server.
As shown in FIG. 3, the method starts at S310, and when the execution of the application program is exited due to an exception, first execution information of the application program during exiting execution is collected.
Before step S310, the following steps are also required to be completed: and establishing a system crash protector corresponding to the application program, initializing a configuration function, designating a storage path of the error information, and registering a flash fallback callback function.
According to one embodiment of the invention, in step S310, when an exception occurs in the application program, error information is collected by flashing back to the call function and stored in a designated error information saving path. The format of the error message is shown in table 1.
TABLE 1
Figure BDA0002500560680000081
Figure BDA0002500560680000091
Then, step S320 is performed, when the application program is restarted, the system crash protector determines, according to the first execution information and the execution environment of the application program, library information that is called by the application program last when the application program exits from execution, obtains, according to the library information that is called last, a plug-in name (plugin name) and a tokenization address (baseaddr) that cause an exception, and records the plug-in name and the tokenization address in the report request. According to an embodiment of the present invention, according to one of the entries "1 ahnetworkframework 0x000000010a370d 600 x10a308000+ 429408" in the error information in table 1, the Pluginname is obtained as ahnetworkframework, the baseaddr is 429408, and the Pluginname and the baseaddr are recorded in the report request.
And then, step S330 is carried out, and auxiliary information including a page access path, a memory address of the last access page, a plug-in to which the last access page belongs, a mobile terminal CPU type and a unique identification code of the mobile terminal device is added in the report request. The page access path (visitpath) refers to recording the page name of each page before the user enters each page when the user uses the application program, so that the page access path of the user is formed, and the plug-in to which the last access page belongs and the memory address of the last access page can be obtained by means of the Nsbandle and the system function according to the finally called library information.
The report request comprises two fields, an information field and an access path field, wherein the information field (crashinfo) is formed by splicing the name of a plug-in causing abnormity, a symbolic address, the CPU type of the mobile terminal, the unique identification code of the mobile terminal equipment, the memory address of the last access page and the plug-in to which the last access page belongs, and the path field (visitpath) comprises a page access path, and according to one embodiment of the invention, the format of the visitpath is shown in table 2.
TABLE 2
Figure BDA0002500560680000092
Figure BDA0002500560680000101
Then, step S340 is entered, and the report request is transmitted to the server, so that the server determines the plug-in causing the abnormal exit of the application program according to the report request.
Fig. 4 is a flowchart illustrating an anomaly diagnosis method 400 for a server-side application program according to an embodiment of the present invention, which completes a process of parsing reported information at a server side, where the server may be implemented by the computing device 200.
As shown in fig. 4, the method starts at S410, and a report request sent by the mobile terminal is received, where the report request includes an information field and a path field, the information field is formed by splicing a name of a plug-in causing an exception, a symbolic address, a CPU type of the mobile terminal, a unique identifier of a mobile terminal device, a memory address of a last access page, and a plug-in to which the last access page belongs, and the path field (visitpath) includes a page access path.
Then, step S420 is performed to symbolize the reporting request to obtain the symbolized reporting request information. According to an embodiment of the present invention, a form of crashinfo in the report request can be expressed as: crashinfo { \\ n \ uuid \ ": 9691524e342d3bb7a7b91eaef998af 27", \ n \ baseaddr \ ": 429408\ n \ cpyname \": arm64\ n \ PluginName \ and \ AHNetworklacework \ n }
The symbolization is mainly to symbolize a symbolized address in an information field to obtain a specific error code position, obtain a corresponding symbolized file (dsym) through a unique identification code (uuid) of the mobile terminal equipment in a report request, and show an information format of the information obtained after symbolizing the crashinfo in table 3.
TABLE 3
Figure BDA0002500560680000102
Then, step S430 is performed, where a specific code position causing an exception of the application program can be obtained from the signed report request information shown in table 3, and it is determined whether the code position causing the exception is in the main function of the application program.
According to an embodiment of the present invention, if the code position causing the abnormality is not in the main function of the application program, step S470 is performed, and it can be determined that the code position causing the abnormality is in the plug-in to which the code position causing the abnormality belongs, and the symbolized information can be directly synchronized to crashtile, and the operation platform performs statistical display.
When the information segment after symbolization judges that the code position causing the abnormality is in the main function of the application program, the process proceeds to step S440, and judges whether the plug-in is a static library plug-in, according to an embodiment of the present invention, if the plug-in is a static library plug-in, the process proceeds to step S450, symbolizes the memory address of the last access page, thereby obtaining the name of the plug-in causing the abnormality, replaces the plugin name in the symbolized information shown in table 3, and then proceeds to step S470 for statistical display.
According to another embodiment of the present invention, if the plug-in is a dynamic library plug-in, step S460 is entered, and the plug-in to which the last visited page belongs is the plug-in causing the abnormality, and the statistics is directly displayed.
According to the exception handling method of the application program, the process information of the mobile terminal is collected when the application program is flashed off, and the process information of the mobile terminal is compared when the application program is started next time, so that the final exception plug-in information is obtained.
According to the exception handling method, by combining the back-end server, when the plug-ins cannot be distinguished through the flash quit information, the flash quit information is classified through the last path browsed by the user, so that the developer can quickly locate the problem in the development process, and the software stability is maintained.
The various techniques described herein may be implemented in connection with hardware or software or, alternatively, with a combination of both. Thus, the methods and apparatus of the present invention, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as removable hard drives, U.S. disks, floppy disks, CD-ROMs, or any other machine-readable storage medium, wherein, when the program is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
In the case of program code execution on programmable computers, the computing device will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Wherein the memory is configured to store program code; the processor is configured to execute the image display method of the present invention according to instructions in the program code stored in the memory.
By way of example, and not limitation, readable media may comprise readable storage media and communication media. Readable storage media store information such as computer readable instructions, data structures, program modules or other data. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Combinations of any of the above are also included within the scope of readable media.
A6, the method as in A4 or A5, wherein the access path field includes the page access path.
B10, the method of B9, wherein the report request includes an information field and an access path field.
B11, the method according to B10, wherein the information fields include the name of the plug-in causing the exception, the symbolized address, the mobile terminal CPU type, the unique identification code of the mobile terminal device, the memory address of the last accessed page and the plug-in to which the last accessed page belongs.
B12, the method as in B10 or B11, wherein the access path field includes a user's page access path.
B13, the method according to any one of B9-B12, wherein the symbolizing the report request to obtain the information of the plug-in causing the exception includes:
symbolizing the reporting request to obtain symbolized reporting request information;
acquiring a specific code position causing abnormity of the application program from the signed report request information;
judging whether the code position causing the abnormity is in a main function of an application program or not;
if so, determining the plug-in causing the abnormality according to the memory address of the last access page of the information field in the report request and the plug-in to which the last access page belongs;
if not, the signed report request information is directly displayed to an operation platform without processing.
B14, the method according to B13, wherein the determining, according to the memory address of the last visited page in the information field in the report request and the plug-in to which the last visited page belongs, the plug-in that causes the exception includes:
judging whether the plug-in to which the last access page belongs is a static library plug-in or not;
if so, acquiring a plug-in causing abnormity according to the memory address of the last access page;
if not, the plug-in to which the last access page belongs is the plug-in causing the exception.
In the description provided herein, algorithms and displays are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems may also be used with examples of this invention. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
It should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules or units or components of the devices in the examples disclosed herein may be arranged in a device as described in this embodiment or alternatively may be located in one or more devices different from the devices in this example. The modules in the foregoing examples may be combined into one module or may be further divided into multiple sub-modules.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
Furthermore, some of the described embodiments are described herein as a method or combination of method elements that can be performed by a processor of a computer system or by other means of performing the described functions. A processor having the necessary instructions for carrying out the method or method elements thus forms a means for carrying out the method or method elements. Further, the elements of the apparatus embodiments described herein are examples of the following apparatus: the apparatus is used to implement the functions performed by the elements for the purpose of carrying out the invention.
As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this description, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as described herein. Furthermore, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the appended claims. The present invention has been disclosed in an illustrative rather than a restrictive sense, and the scope of the present invention is defined by the appended claims.

Claims (10)

1. A method for diagnosing an application program abnormality, which is suitable for being executed in a mobile terminal, wherein the mobile terminal is provided with an application program and is in communication connection with a server, and the method comprises the following steps:
when the application program is executed abnormally and exits from execution, collecting first execution information of the application program during exiting execution;
when the application program is started again, determining library information called finally when the application program exits from execution according to the first execution information and the execution environment of the application program;
obtaining the name and symbolic address of the plug-in causing the abnormality according to the finally called library information, and recording the name and symbolic address in a reporting request;
and transmitting the report request to the server so that the server determines the plug-in causing abnormal exit of the application program according to the report request.
2. The method of claim 1, wherein the method further comprises:
recording the page name of each access page of the user, and generating a page access path of the user;
and acquiring the memory address of the last access page in the page access path and the plug-in to which the last access page belongs.
3. The method according to claim 1 or 2, wherein the report request further includes the page access path, the memory address of the last access page, the plug-in to which the last access page belongs, the mobile terminal CPU type, and the mobile terminal device unique identification code.
4. The method of any of claims 1-3, wherein the report request includes an information field and an access path field.
5. The method of claim 4, wherein the information field comprises the name of the exception-causing plug-in, a tokenized address, a mobile terminal CPU type, a mobile terminal device unique identifier, a memory address of a last accessed page, and a plug-in to which the last accessed page belongs.
6. A mobile terminal, comprising:
one or more processors;
a memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for performing any of the methods of claims 1-5.
7. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a mobile terminal, cause the mobile terminal to perform any of the methods of claims 1-5.
8. A method for diagnosing an application program abnormality, adapted to be executed in a server communicatively connected to a mobile terminal, the method comprising:
receiving a reporting request sent by the mobile terminal;
symbolizing the report request to obtain plug-in information causing abnormity;
and displaying the plug-in information causing the abnormity to an operation platform.
9. A computing device, comprising:
one or more processors;
a memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for performing any of the methods of claim 8.
10. A computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing device, cause the computing device to perform any of the methods of claim 8.
CN202010431121.7A 2020-05-20 2020-05-20 Application program abnormality diagnosis method, mobile terminal and readable storage medium Active CN111782504B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010431121.7A CN111782504B (en) 2020-05-20 2020-05-20 Application program abnormality diagnosis method, mobile terminal and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010431121.7A CN111782504B (en) 2020-05-20 2020-05-20 Application program abnormality diagnosis method, mobile terminal and readable storage medium

Publications (2)

Publication Number Publication Date
CN111782504A true CN111782504A (en) 2020-10-16
CN111782504B CN111782504B (en) 2023-12-01

Family

ID=72754337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010431121.7A Active CN111782504B (en) 2020-05-20 2020-05-20 Application program abnormality diagnosis method, mobile terminal and readable storage medium

Country Status (1)

Country Link
CN (1) CN111782504B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114138362A (en) * 2021-11-18 2022-03-04 武汉深之度科技有限公司 Anti-uninstalling method and device for kernel module and computing equipment

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114253A (en) * 2006-07-26 2008-01-30 腾讯科技(深圳)有限公司 Program crashing information report method and system thereof
CN102236587A (en) * 2010-04-28 2011-11-09 上海中标软件有限公司 Recovery method for abnormal firefox browser
US20150261596A1 (en) * 2014-03-17 2015-09-17 Microsoft Corporation Framework for user-mode crash reporting
CN105302711A (en) * 2014-07-09 2016-02-03 腾讯科技(深圳)有限公司 Application repairing method and apparatus and terminal
US20160110238A1 (en) * 2014-10-16 2016-04-21 International Business Machines Corporation Automated diagnosis of software crashes
CN105630682A (en) * 2015-12-28 2016-06-01 珠海金山网络游戏科技有限公司 System and method for automatically collecting and analyzing collapse of mobile terminal
CN105893094A (en) * 2016-03-31 2016-08-24 百度在线网络技术(北京)有限公司 Achieving method and device for application program plug-in
CN105912466A (en) * 2016-04-07 2016-08-31 百度在线网络技术(北京)有限公司 Application abnormal information processing method and device
US20160350170A1 (en) * 2014-05-30 2016-12-01 Apteligent, Inc. System for Monitoring and Tracking Application Crashes Occurring on Different Mobile Devices
CN107239381A (en) * 2017-06-07 2017-10-10 北京奇虎科技有限公司 The processing method of crash info, apparatus and system
CN107391360A (en) * 2016-11-16 2017-11-24 广州爱九游信息技术有限公司 Application exception information processing method, device, server and user terminal
CN107861865A (en) * 2017-08-29 2018-03-30 平安普惠企业管理有限公司 SDK localization methods, equipment and computer-readable recording medium
CN108415734A (en) * 2018-03-22 2018-08-17 车智互联(北京)科技有限公司 A kind of application recovery device, method and mobile terminal
CN108694108A (en) * 2017-04-11 2018-10-23 北京京东尚科信息技术有限公司 A kind of method and apparatus of iOS crash datas classification and statistics
CN109766205A (en) * 2018-12-19 2019-05-17 益萃网络科技(中国)有限公司 Abnormality eliminating method, device, computer equipment and storage medium
CN110287049A (en) * 2019-05-22 2019-09-27 百度在线网络技术(北京)有限公司 Data processing method, device and storage medium
CN110764945A (en) * 2019-10-23 2020-02-07 北京博睿宏远数据科技股份有限公司 Crash log processing method, device, equipment and storage medium
CN111090593A (en) * 2020-03-25 2020-05-01 同盾控股有限公司 Method, device, electronic equipment and storage medium for determining crash attribution

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114253A (en) * 2006-07-26 2008-01-30 腾讯科技(深圳)有限公司 Program crashing information report method and system thereof
CN102236587A (en) * 2010-04-28 2011-11-09 上海中标软件有限公司 Recovery method for abnormal firefox browser
US20150261596A1 (en) * 2014-03-17 2015-09-17 Microsoft Corporation Framework for user-mode crash reporting
US20160350170A1 (en) * 2014-05-30 2016-12-01 Apteligent, Inc. System for Monitoring and Tracking Application Crashes Occurring on Different Mobile Devices
CN105302711A (en) * 2014-07-09 2016-02-03 腾讯科技(深圳)有限公司 Application repairing method and apparatus and terminal
US20160110238A1 (en) * 2014-10-16 2016-04-21 International Business Machines Corporation Automated diagnosis of software crashes
CN105630682A (en) * 2015-12-28 2016-06-01 珠海金山网络游戏科技有限公司 System and method for automatically collecting and analyzing collapse of mobile terminal
CN105893094A (en) * 2016-03-31 2016-08-24 百度在线网络技术(北京)有限公司 Achieving method and device for application program plug-in
CN105912466A (en) * 2016-04-07 2016-08-31 百度在线网络技术(北京)有限公司 Application abnormal information processing method and device
CN107391360A (en) * 2016-11-16 2017-11-24 广州爱九游信息技术有限公司 Application exception information processing method, device, server and user terminal
CN108694108A (en) * 2017-04-11 2018-10-23 北京京东尚科信息技术有限公司 A kind of method and apparatus of iOS crash datas classification and statistics
CN107239381A (en) * 2017-06-07 2017-10-10 北京奇虎科技有限公司 The processing method of crash info, apparatus and system
CN107861865A (en) * 2017-08-29 2018-03-30 平安普惠企业管理有限公司 SDK localization methods, equipment and computer-readable recording medium
CN108415734A (en) * 2018-03-22 2018-08-17 车智互联(北京)科技有限公司 A kind of application recovery device, method and mobile terminal
CN109766205A (en) * 2018-12-19 2019-05-17 益萃网络科技(中国)有限公司 Abnormality eliminating method, device, computer equipment and storage medium
CN110287049A (en) * 2019-05-22 2019-09-27 百度在线网络技术(北京)有限公司 Data processing method, device and storage medium
CN110764945A (en) * 2019-10-23 2020-02-07 北京博睿宏远数据科技股份有限公司 Crash log processing method, device, equipment and storage medium
CN111090593A (en) * 2020-03-25 2020-05-01 同盾控股有限公司 Method, device, electronic equipment and storage medium for determining crash attribution

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ELIF: "8 Crash Reporting Tools For iOS And Andriod apps", Retrieved from the Internet <URL:https://appsmurai.com/blog/8-crash-reporting-tools-for-ios-and-andriod-apps/> *
KEVIN MORAN: "Automatically Discovering, Reporting and Reporducing Andriod Application Crashes", 《2016 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION(ICST)》, pages 33 - 44 *
O2SPACE_XIU: "iOS中相关Crash知识点", pages 4 - 5, Retrieved from the Internet <URL:https://www.jianshu.com/p/233c73714e1e> *
李如中: "移动端应用崩溃信息收集与展示平台的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 2019, pages 138 - 386 *
杨凯: "利用"崩溃轨迹"分析崩溃", Retrieved from the Internet <URL:http://boke.tingyun.com/web/article/list/author/91285> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114138362A (en) * 2021-11-18 2022-03-04 武汉深之度科技有限公司 Anti-uninstalling method and device for kernel module and computing equipment
CN114138362B (en) * 2021-11-18 2024-03-01 武汉深之度科技有限公司 Anti-unloading method and device for kernel module and computing equipment

Also Published As

Publication number Publication date
CN111782504B (en) 2023-12-01

Similar Documents

Publication Publication Date Title
CN107329750B (en) Identification method and skip method of advertisement page in application program and mobile terminal
CN108388514B (en) Interface automation test method, device, equipment and computer readable storage medium
CN106790895B (en) Fault processing method and device
US9256513B2 (en) Method, apparatus and computer readable medium for automatic debugging and error prevention
CN107656866B (en) Method for testing application fluency, mobile terminal and computing device
US9116808B2 (en) Method and system for determining device configuration settings
CN107370874B (en) Application starting method, mobile terminal and storage medium
CN107261500B (en) Method and device for positioning object and mobile terminal
CN110765398A (en) Page content display method and mobile terminal
CN111782504B (en) Application program abnormality diagnosis method, mobile terminal and readable storage medium
JP2012230451A (en) Network terminal failure handling system, terminal device, server device, network terminal failure handling method and program
US9753933B2 (en) Electronic device and method for mounting file system using virtual block device
CN105095303B (en) Quick link pushing method and quick link pushing device
CN114356290A (en) Data processing method and device and computer readable storage medium
CN107562423B (en) UI page development method and device
CN106502899B (en) Application monitoring method, device, mobile terminal and system
CN112988549B (en) Method for obtaining log based on vehicle machine system and electronic equipment
CN112181467B (en) Method and device for upgrading memory firmware of terminal, terminal and storage medium
CN115269077A (en) Picture display method, module, mobile terminal and storage medium
CN115544353A (en) Page display method, mobile terminal, computing device and storage medium
CN111026657A (en) Method, computing device and medium for testing application in mobile terminal
CN109150993B (en) Method for obtaining network request tangent plane, terminal device and storage medium
CN112307386A (en) Information monitoring method, system, electronic device and computer readable storage medium
CN112257388A (en) Content display method, mobile terminal and system
US20180181727A1 (en) Electronic device, method for controlling thereof and computer-readable recording medium

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