A method and apparatus for collecting crash information

CN116501520BActive Publication Date: 2026-09-18BEIJING YOUZHUJU NETWORK TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210061363.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-19
Publication Date
2026-09-18
Estimated Expiration
2042-01-19

AI Technical Summary

Technical Problem

但是,目前监测免安装应用的运行故障的方案,仅能够检测到一部分运行故障,从而降低了免安装应用的稳定性

Benefits of technology

[0037] This application provides a crash information collection method. For portable applications, a first functional module can capture the crash stack information of the portable application, which describes the operational failure of the portable application. The first functional module is a functional module in the operating system of the device hosting the portable application. After capturing the crash stack information, the first functional module can send the crash stack information to the portable application. In this application embodiment, the crash stack information sent to the portable application by the first functional module can be obtained, and then further sent to the application running the portable framework. Therefore, using this solution, the crash stack information of the portable application can be obtained before the portable application processes the crash stack information. In this way, even if the portable application does not send the crash stack information to the application running the portable framework, the application running the portable framework can still receive the crash stack information, thereby enabling the application running the portable framework to receive more crash stack information and improving the stability of the portable application.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116501520B_ABST
    Figure CN116501520B_ABST
Patent Text Reader

Abstract

The application discloses a crash information collection method. For an installation-free application, a first function module can capture crash stack information of the installation-free application, and the crash stack information is used for describing a running failure of the installation-free application. The first function module is a function module in an operating system of a device carrying the installation-free application. After capturing the crash stack information, the first function module can send the crash stack information to the installation-free application. As can be seen, according to the application, the crash stack information of the installation-free application can be acquired before the installation-free application processes the crash stack information. In this way, even if the installation-free application does not send the crash stack information to an application program running an installation-free framework, the application program running the installation-free framework can also receive the crash stack information, so that the application program running the installation-free framework can receive more crash stack information, and the stability of the installation-free application is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing, and in particular to a method and apparatus for collecting crash information. Background Technology

[0002] Installation-free technology provides a complete virtual runtime environment. Applications that utilize this technology can also be called "installation-free applications." Installation-free applications can achieve the same functionality as installed applications without needing to be installed on the system.

[0003] To improve the stability of portable applications, it is necessary to monitor their operational failures and take further measures. However, current solutions for monitoring operational failures in portable applications can only detect a portion of the failures, thus reducing the stability of these applications.

[0004] Therefore, there is an urgent need for a solution to address the above problems. Summary of the Invention

[0005] The technical problem to be solved by this application is how to improve the stability of installation-free applications and provide a crash information collection method and device.

[0006] In a first aspect, embodiments of this application provide a crash information collection method, the method comprising:

[0007] Obtain crash stack information sent by the first functional module to the portable application. The crash stack information is used to describe the running failure of the portable application. The first functional module is a functional module in the operating system of the device carrying the portable application.

[0008] The crash stack information is sent to the application running the portable framework.

[0009] Optionally, obtaining the crash stack information sent by the first functional module to the portable application includes:

[0010] Intercept the crash stack information sent by the first functional module to the portable application.

[0011] Optionally, intercepting the crash stack information sent by the first functional module to the portable application includes:

[0012] The first function used to pass the crash stack information is intercepted using a hook function.

[0013] Optionally, the installation-free application is a game application.

[0014] Optionally, the program code of the installation-free application is implemented using Java, C, C++, C#, JavaScript, ActionScript, or Lua.

[0015] Optionally, obtaining the crash stack information sent by the first functional module to the portable application includes:

[0016] Receive the crash stack information sent by the first functional module.

[0017] Optionally, the application that runs the installation-free framework includes:

[0018] Platform applications that run on the operating system.

[0019] Secondly, embodiments of this application provide a crash information collection device, the device comprising:

[0020] The acquisition unit is used to acquire crash stack information sent by the first functional module to the portable application. The crash stack information is used to describe the running failure of the portable application. The first functional module is a functional module in the operating system of the device carrying the portable application.

[0021] The sending unit is used to send the crash stack information to the application running the portable framework.

[0022] Optionally, the acquisition unit is used for:

[0023] Intercept the crash stack information sent by the first functional module to the portable application.

[0024] Optionally, the acquisition unit is used for:

[0025] The first function used to pass the crash stack information is intercepted using a hook function.

[0026] Optionally, the installation-free application is a game application.

[0027] Optionally, the program code of the installation-free application is implemented using Java, C, C++, C#, JavaScript, ActionScript, or Lua.

[0028] Optionally, the acquisition unit is used for:

[0029] Receive the crash stack information sent by the first functional module.

[0030] Optionally, the application that runs the installation-free framework includes:

[0031] Platform applications that run on the operating system.

[0032] Thirdly, embodiments of this application provide an apparatus, the apparatus including a processor and a memory;

[0033] The processor is configured to execute instructions stored in the memory to cause the device to perform the method described in any of the first aspects above.

[0034] Fourthly, embodiments of this application provide a computer-readable storage medium, characterized in that it includes instructions that instruct a device to perform the method described in any of the first aspects above.

[0035] Fifthly, embodiments of this application provide a computer program product that, when run on a computer, causes the computer to perform the method described in any of the first aspects above.

[0036] Compared with the prior art, the embodiments of this application have the following advantages:

[0037] This application provides a crash information collection method. For portable applications, a first functional module can capture the crash stack information of the portable application, which describes the operational failure of the portable application. The first functional module is a functional module in the operating system of the device hosting the portable application. After capturing the crash stack information, the first functional module can send the crash stack information to the portable application. In this application embodiment, the crash stack information sent to the portable application by the first functional module can be obtained, and then further sent to the application running the portable framework. Therefore, using this solution, the crash stack information of the portable application can be obtained before the portable application processes the crash stack information. In this way, even if the portable application does not send the crash stack information to the application running the portable framework, the application running the portable framework can still receive the crash stack information, thereby enabling the application running the portable framework to receive more crash stack information and improving the stability of the portable application. Attached Figure Description

[0038] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0039] Figure 1A schematic diagram provided for an embodiment of this application;

[0040] Figure 2 A flowchart illustrating a crash information collection method provided in an embodiment of this application;

[0041] Figure 3 This is a schematic diagram of the structure of a crash information collection device provided in an embodiment of this application;

[0042] Figure 4 A schematic diagram of the structure of a device provided in an embodiment of this application. 。 Detailed Implementation

[0043] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.

[0044] Platform applications can run on the operating system, and these platform applications can run portable frameworks, which are used to implement portable technology. To improve the stability of portable applications, it is necessary to monitor their operational failures. Currently, platform applications can call interfaces provided by the operating system to collect crash stack information of portable applications, whereby the crash stack information describes the operational failures of the portable applications. However, see [link to relevant documentation]. Figure 1 To understand, Figure 1 This is a schematic diagram provided for an embodiment of this application. When collecting crash stack information of a portable application using the interface described above, the transmission path of the crash stack information is: functional module 110 -- portable application 120 -- platform application 130. Here, functional module 110 is the operating system module for capturing crash stack information. However, in some scenarios, after receiving the crash stack information, the portable application 120 will perform corresponding processing measures based on the crash stack information and will no longer send the crash stack information to the platform application 130. This results in the platform application 130 not being able to collect all the crash stack information. Consequently, this is detrimental to the stable operation of the portable application.

[0045] To address the aforementioned issues, this application provides a crash information collection method and apparatus.

[0046] The various non-limiting embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0047] Exemplary methods

[0048] See Figure 2 This figure is a flowchart illustrating a crash information collection method provided in an embodiment of this application. The method provided in this embodiment can be applied to an operating system, including but not limited to the Android system. The method can be implemented, for example, through the following steps S101-S102.

[0049] S101: Obtain the crash stack information sent by the first functional module to the portable application. The crash stack information is used to describe the running failure of the portable application. The first functional module is a functional module in the operating system of the device carrying the portable application.

[0050] This application does not specifically limit the portable application to specific embodiments. In one example, the portable application is a game application. In this application embodiment, the program code of the portable application can be implemented using Java, C, or C++; this application embodiment does not impose a specific limitation. Of course, the program code of the portable application can also be implemented using C#, JavaScript, ActionScript, or Lua; this application embodiment does not impose a specific limitation.

[0051] In this embodiment, the crash stack information of the portable application is used to describe the operational failure of the portable application. Failures during the operation of the portable application can be captured by the operating system, specifically by a first functional module within the operating system. In other words, the first functional module can capture the crash stack information. After capturing the crash stack information of the portable application, the first functional module can send the crash stack information to the portable application. Here, the operating system mentioned refers to the operating system of the device hosting the portable application.

[0052] If the operating system is Android, and the software code of the portable application is implemented in C or C++, then the layers traversed by the first functional module in transmitting the crash stack information to the corresponding crash stack information of the portable application are: the C layer (the layer described by the operating system) and the native layer (the layer to which the portable application belongs). If the operating system is Android, and the software code of the portable application is implemented in Java, then the layers traversed by the first functional module in transmitting the crash stack information to the corresponding crash stack information of the portable application are: the C layer (the layer described by the operating system) and the Java layer (the layer to which the portable application belongs).

[0053] In one example, the first functional module can use a relevant function to pass the crash stack information to the portable application. This application does not specifically limit the function used to pass the crash stack information.

[0054] In one example, S101, in its specific implementation, can intercept the crash stack information sent by the first functional module to the portable application. Considering that a hook function can achieve the purpose of intercepting a certain function, in one implementation, the hook function can be used to intercept the first function used to transmit the crash stack information, thereby obtaining the crash stack information.

[0055] In another example, when S101 is implemented, the first functional module can be pre-configured so that, in addition to sending the crash stack information to the portable application, the first functional module also sends the crash stack information to the second functional module of the operating system. The second functional module mentioned here refers to the functional module that executes S101-S102.

[0056] S102: Send the crash stack information to the application running the portable framework.

[0057] After obtaining the crash stack information, it can be sent to the application running the no-installation framework. This application embodiment does not specifically limit the specific implementation of S102. In one example, relevant functions can be used to send the crash stack information to the application running the no-installation framework. It is understood that the application running the no-installation framework mentioned here refers to a platform application running on an operating system.

[0058] As described above, the solution provided in this application embodiment allows for the acquisition of the crash stack information of the portable application before the portable application processes the crash stack information, and the sending of this crash stack information to the platform application. This avoids the platform application failing to capture the crash stack information due to the portable application processing it. In other words, using the solution in this application embodiment, even if the portable application does not send the crash stack information to the application running the portable framework, the application running the portable framework can still receive the crash stack information, thereby enabling the application running the portable framework to receive more crash stack information, which is beneficial to the stable operation of the portable application.

[0059] Exemplary device

[0060] Based on the methods provided in the above embodiments, this application also provides an apparatus, which will be described below with reference to the accompanying drawings.

[0061] See Figure 3 The figure is a schematic diagram of a crash information collection device provided in an embodiment of this application. The device 300 may specifically include, for example, an acquisition unit 301 and a sending unit 302.

[0062] The acquisition unit 301 is used to acquire crash stack information sent by the first functional module to the portable application. The crash stack information is used to describe the running failure of the portable application. The first functional module is a functional module in the operating system of the device carrying the portable application.

[0063] The sending unit 302 is used to send the crash stack information to the application running the portable framework.

[0064] Optionally, the acquisition unit 301 is used for:

[0065] Intercept the crash stack information sent by the first functional module to the portable application.

[0066] Optionally, the acquisition unit 301 is used for:

[0067] The first function used to pass the crash stack information is intercepted using a hook function.

[0068] Optionally, the installation-free application is a game application.

[0069] Optionally, the program code of the installation-free application is implemented using Java, C, C++, C#, JavaScript, ActionScript, or Lua.

[0070] Optionally, the acquisition unit 301 is used for:

[0071] Receive the crash stack information sent by the first functional module.

[0072] Optionally, the application that runs the installation-free framework includes:

[0073] Platform applications that run on the operating system.

[0074] Since the device 300 is a device corresponding to the method provided in the above method embodiments, the specific implementation of each unit of the device 300 is based on the same concept as the above method embodiments. Therefore, the specific implementation of each unit of the device 300 can be referred to the description section of the above method embodiments, and will not be repeated here.

[0075] This application also provides an apparatus, which includes a processor and a memory;

[0076] The processor is used to execute instructions stored in the memory so that the device performs the method described in any of the above method embodiments.

[0077] The following is for reference. Figure 4 This document illustrates a structural schematic diagram of an electronic device 400 suitable for implementing embodiments of this application. The electronic devices in these embodiments may include, but are not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Android Devices), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs (televisions), desktop computers, etc. Figure 4 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0078] like Figure 4 As shown, electronic device 400 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 401, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 402 or a program loaded from storage device 408 into random access memory (RAM) 403. RAM 403 also stores various programs and data required for the operation of electronic device 400. The processing device 401, ROM 402, and RAM 403 are interconnected via bus 404. Input / output (I / O) interface 405 is also connected to bus 404.

[0079] Typically, the following devices can be connected to I / O interface 405: input devices 406 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 407 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 408 including, for example, magnetic tapes, hard disks, etc.; and communication devices 409. Communication device 409 allows electronic device 400 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 4 An electronic device 400 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0080] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 409, or installed from storage device 408, or installed from ROM 402. When the computer program is executed by processing device 401, it performs the functions defined in the methods of embodiments of this application.

[0081] The electronic device provided in this application embodiment and the crash information collection method provided in the above embodiment belong to the same inventive concept. Technical details not described in detail in this embodiment can be found in the above embodiment, and this embodiment has the same beneficial effects as the above embodiment.

[0082] This application provides a computer-readable medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the crash information collection method as described in any of the above embodiments.

[0083] It should be noted that the computer-readable medium described above in this application can be a computer-readable signal medium, a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0084] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0085] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0086] The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the aforementioned crash information collection method.

[0087] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof. These programming languages ​​include, but are not limited to, object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0088] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0089] The units described in the embodiments of this application can be implemented in software or in hardware. The name of the unit / module does not necessarily limit the unit itself; for example, a voice data acquisition module can also be described as a "data acquisition module".

[0090] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0091] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0092] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.

[0093] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

[0094] The above description is only a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for collecting crash information, characterized in that, The method, applied to a second functional module of an operating system, includes: The system receives crash stack information sent by a first functional module, which describes the runtime failure of the portable application. The first functional module is a functional module in the operating system of the device carrying the portable application. The first functional module is used to capture the crash stack information of the portable application. The first functional module is pre-configured to send the crash stack information to the second functional module in addition to sending it to the portable application. The crash stack information is sent to the application running the portable framework so that the application running the portable framework can also receive the crash stack information even when the portable application no longer sends the crash stack information to the application running the portable framework. The application running the portable framework includes: a platform application running on the operating system.

2. The method according to claim 1, characterized in that, The application that requires no installation is a game application.

3. The method according to claim 1, characterized in that, The program code of the portable application is implemented in Java, C, C++, C#, JavaScript, ActionScript, or Lua.

4. A crash information collection device, characterized in that, The device is a second functional module applied to an operating system, comprising: The acquisition unit is used to receive crash stack information sent by the first functional module. The crash stack information is used to describe the running failure of the portable application. The first functional module is a functional module in the operating system of the device carrying the portable application. The first functional module is used to capture the crash stack information of the portable application. The first functional module is pre-configured to send the crash stack information to the second functional module in addition to sending the crash stack information to the portable application. The sending unit is configured to send the crash stack information to the application running the portable framework, so that even if the portable application no longer sends the crash stack information to the application running the portable framework, the application running the portable framework can still receive the crash stack information. The application running the portable framework includes: a platform application running on the operating system.

5. A device, characterized in that, The device includes a processor and a memory; The processor is configured to execute instructions stored in the memory to cause the device to perform the method as described in any one of claims 1 to 3.

6. A computer-readable storage medium, characterized in that, Includes instructions that instruct the device to perform the method as described in any one of claims 1 to 3.

Citation Information

Patent Citations

  • Method and device for reporting exception condition of applet, terminal equipment and storage medium

    CN109800101A

  • Abnormity monitoring method for fast game, electronic equipment, mobile terminal and storage medium

    CN113190401A