CN113867847A - Abnormal plug-in processing method and device and computing equipment - Google Patents

Abnormal plug-in processing method and device and computing equipment Download PDF

Info

Publication number
CN113867847A
CN113867847A CN202111436497.8A CN202111436497A CN113867847A CN 113867847 A CN113867847 A CN 113867847A CN 202111436497 A CN202111436497 A CN 202111436497A CN 113867847 A CN113867847 A CN 113867847A
Authority
CN
China
Prior art keywords
plug
information
abnormal
library name
acquiring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111436497.8A
Other languages
Chinese (zh)
Inventor
卢桢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software 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 Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202111436497.8A priority Critical patent/CN113867847A/en
Publication of CN113867847A publication Critical patent/CN113867847A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading

Abstract

The invention discloses an abnormal plug-in processing method, an abnormal plug-in processing device and a computing device, wherein the method is executed in an operating system, one or more application programs run on the operating system, and the method comprises the following steps: when the application program runs abnormally, acquiring the current stack information of the application program, and acquiring a plug-in library name from the stack information; comparing the plug-in library name with one or more plug-in information corresponding to the application program to determine whether plug-in information matched with the plug-in library name exists or not; if the plug-in information matched with the plug-in library name exists, determining the plug-in corresponding to the plug-in information as an abnormal plug-in; and acquiring plug-in configuration information corresponding to the abnormal plug-in, and displaying the plug-in configuration information on an abnormal processing interface to present to a user. According to the technical scheme of the invention, a user can clearly know the abnormal plug-in causing application crash according to the plug-in configuration information and process the abnormal plug-in.

Description

Abnormal plug-in processing method and device and computing equipment
Technical Field
The present invention relates to the field of computer and operating system technologies, and in particular, to an abnormal plug-in processing method, an abnormal plug-in processing apparatus, and a computing device.
Background
At present, various large-scale applications are increasing, the complexity of the applications is gradually increased, and the design and coding work becomes more difficult for research and development personnel. Under the background, a plug-in framework based on a micro-kernel architecture is gradually favored by research and development personnel, a huge service set can be split in a fine-grained manner based on the framework, split service logics are put into independent plug-ins, and the plug-ins can be loaded by the framework finally. The application development method based on the micro-kernel architecture can reduce the coupling degree among all modules, and all plug-ins can even be written in parallel, so that the development efficiency is improved, and the expansibility of programs is enhanced.
However, applications implemented based on microkernel architectures have a potential for stability relative to monolithic applications. For example, in order to extend existing functions, an application program supports access to a third-party plug-in, and the third-party plug-in may have various unstable factors due to lack of testing, so that stability is not guaranteed, and if a logic error occurs, the application may crash, which affects user experience.
Therefore, an exception plugin processing method is needed to solve the problems in the above technical solutions.
Disclosure of Invention
To this end, the present invention provides an abnormal plug-in processing method and an abnormal plug-in processing apparatus in an attempt to solve or at least alleviate the above existing problems.
According to an aspect of the present invention, there is provided an exception plug-in handling method, executed in an operating system on which one or more applications run, the method comprising the steps of: when the application program runs abnormally, acquiring the current stack information of the application program, and acquiring a plug-in library name from the stack information; comparing the plug-in library name with one or more plug-in information corresponding to the application program to determine whether plug-in information matched with the plug-in library name exists or not; if the plug-in information matched with the plug-in library name exists, determining the plug-in corresponding to the plug-in information as an abnormal plug-in; and acquiring plug-in configuration information corresponding to the abnormal plug-in, and displaying the plug-in configuration information on an abnormal processing interface to present to a user.
Optionally, in the abnormal plug-in processing method according to the present invention, the step of obtaining the plug-in configuration information corresponding to the abnormal plug-in includes: acquiring plug-in metadata corresponding to the plug-in library name; and acquiring the plug-in configuration information of the abnormal plug-in from the plug-in metadata.
Optionally, in the abnormal plug-in processing method according to the present invention, the plug-in configuration information includes a service name and role information corresponding to the plug-in.
Optionally, in the exception plugin processing method according to the present invention, further includes: and receiving the clicking operation of the expansion control on the exception handling interface, and presenting corresponding stack frame information on the exception handling interface.
Optionally, in the exception plugin processing method according to the present invention, further includes: receiving click operation on an unloading control on the exception handling interface, and displaying an unloading plug-in list interface; and acquiring one or more service names selected on the uninstalling plug-in list interface, and uninstalling the plug-ins corresponding to the service names.
Optionally, in the exception plugin processing method according to the present invention, the step of uninstalling the exception plugin includes: and creating a blacklist, and writing the plug-in corresponding to the service name into the blacklist so as to read the blacklist after an application program is started, and not loading the plug-in.
Optionally, in the method for processing an exception plugin according to the present invention, the stack information includes a plurality of stack frames, and the step of obtaining a plugin library name from the stack information includes: taking out one stack frame from the stack information in the order from top to bottom each time; and acquiring the name of the plug-in library from the taken stack frame based on a character string interception method.
Optionally, in the exception plugin processing method according to the present invention, further includes: if the plug-in information matched with the plug-in library name does not exist, taking out the next stack frame from the stack information according to the sequence from top to bottom; and acquiring a next plug-in library name from the next stack frame based on a character string interception method so as to compare the next plug-in library name with plug-in information corresponding to the application program.
Optionally, in the abnormal plug-in processing method according to the present invention, the step of comparing the plug-in library name with one or more plug-in information corresponding to the application program includes: acquiring one or more pieces of plug-in information of the application program stored in a preset directory during initialization; and comparing the plug-in library name with the one or more plug-in information.
According to an aspect of the present invention, there is provided an exception plug-in handling apparatus residing in an operating system on which one or more applications run, the apparatus comprising: the acquisition module is suitable for acquiring the current stack information of the application program when the application program operates abnormally and acquiring the name of a plug-in library from the stack information; the comparison module is suitable for comparing the plug-in library name with one or more plug-in information corresponding to the application program so as to determine whether plug-in information matched with the plug-in library name exists or not; the determining module is suitable for determining the plug-in corresponding to the plug-in information as an abnormal plug-in when the plug-in information matched with the plug-in library name is determined to exist; and the display module is suitable for acquiring the plug-in configuration information corresponding to the abnormal plug-in and displaying the plug-in configuration information on an abnormal processing interface so as to present the plug-in configuration information to a user.
According to an aspect of the present invention, there is provided a computing device comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, the program instructions comprising instructions for performing the exception plug-in handling method as described above.
According to an aspect of the present invention, there is provided a readable storage medium storing program instructions which, when read and executed by a computing device, cause the computing device to perform the method as described above.
According to the technical scheme of the invention, the abnormal plug-in processing method is provided, when an application program runs abnormally, the stack information is obtained, the plug-in library name is obtained from the stack frame, and after the abnormal plug-in is determined based on the comparison of the library names, the plug-in configuration information can be displayed on an abnormal processing interface and presented to a user, wherein the plug-in configuration information comprises information concerned by the user, such as a service name, plug-in action information and the like, so that the user can clearly know the specific information of the abnormal plug-in causing application crash according to the plug-in configuration information so as to correspondingly process the abnormal plug-in.
Further, the user may perform relevant processing operations on the exception plug-in at the exception handling interface, for example, the exception plug-in may be added to a blacklist to enable uninstalling of the exception plug-in. Therefore, after the application is restarted, the abnormity is avoided from appearing again in the running process of the application, and the stable running of the application is facilitated.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
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 shows a schematic diagram of a computing device 100, according to one embodiment of the invention;
FIG. 2 illustrates a flow diagram of an exception plug-in handling method 200 according to one embodiment of the present invention;
FIGS. 3 and 4 are diagrams illustrating an exception handling interface according to an embodiment of the present invention;
FIG. 5 illustrates a schematic diagram of an uninstall plug-in roster interface, according to one embodiment of the present invention; and
FIG. 6 shows a schematic diagram of an exception plug-in handling apparatus 600 according to one embodiment of the present 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 schematic block diagram of an example computing device 100.
As shown in FIG. 1, in a basic configuration 102, a computing device 100 typically includes a system memory 106 and one or more processors 104. A memory bus 108 may be used for communication between the processor 104 and the system memory 106.
Depending on the desired configuration, the processor 104 may be any type of processing, including but not limited to: a microprocessor (UP), a microcontroller (UC), a digital information processor (DSP), or any combination thereof. The processor 104 may include one or more levels of cache, such as a level one cache 110 and a level two cache 112, a processor core 114, and registers 116. The example processor core 114 may include an Arithmetic Logic Unit (ALU), a Floating Point Unit (FPU), a digital signal processing core (DSP core), or any combination thereof. The example memory controller 118 may be used with the processor 104, or in some implementations the memory controller 118 may be an internal part of the processor 104.
Depending on the desired configuration, system memory 106 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. System memory 106 may include an operating system 120, one or more applications 122, and program data 124. In some implementations, the application 122 can be arranged to execute instructions on an operating system with program data 124 by one or more processors 104.
Computing device 100 also includes a storage device 132, storage device 132 including removable storage 136 and non-removable storage 138.
Computing device 100 may also include a storage interface bus 134. The storage interface bus 134 enables communication from the storage devices 132 (e.g., removable storage 136 and non-removable storage 138) to the basic configuration 102 via the bus/interface controller 130. At least a portion of the operating system 120, applications 122, and data 124 may be stored on removable storage 136 and/or non-removable storage 138, and loaded into system memory 106 via storage interface bus 134 and executed by the one or more processors 104 when the computing device 100 is powered on or the applications 122 are to be executed.
Computing device 100 may also include an interface bus 140 that facilitates communication from various interface devices (e.g., output devices 142, peripheral interfaces 144, and communication devices 146) to the basic configuration 102 via the bus/interface controller 130. The example output device 142 includes an image processing unit 148 and an audio processing unit 150. They may be configured to facilitate communication with various external devices, such as a display or speakers, via one or more a/V ports 152. Example peripheral interfaces 144 may include a serial interface controller 154 and a parallel interface controller 156, which may be configured to facilitate communication 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 158. An example communication device 146 may include a network controller 160, which may be arranged to facilitate communications with one or more other computing devices 162 over a network communication link via one or more communication ports 164.
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 a manner that encodes 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.
Computing device 100 may be implemented as a personal computer including both desktop and notebook computer configurations. Of course, computing device 100 may also be implemented as part of a small-form factor portable (or mobile) electronic device such as a cellular telephone, a digital camera, a Personal Digital Assistant (PDA), a personal media player device, a wireless web-watch device, a personal headset, an application specific device, or a hybrid device that include any of the above functions. And may even be implemented as a server, such as a file server, a database server, an application server, a WEB server, and so forth. The embodiments of the present invention are not limited thereto.
In an embodiment in accordance with the invention, the computing device 100 is configured to perform an exception plug-in handling method 200 in accordance with the invention. The operating system of the computing device 100 includes a plurality of program instructions for executing the exception plug-in handling method 200 of the present invention, so that the exception plug-in handling method 200 of the present invention can be executed in the operating system of the computing device 100.
According to an embodiment of the present invention, an exception plug-in processing apparatus 600 resides in an operating system of the computing device 100, and the exception plug-in processing apparatus 600 includes a plurality of program instructions for executing the exception plug-in processing method 200 of the present invention, so that the exception plug-in processing method 200 of the present invention can be executed in the exception plug-in processing apparatus 600.
FIG. 2 illustrates a flow diagram of an exception plug-in handling method 200 according to one embodiment of the present invention. The exception plug-in handling method 200 may be performed in an operating system of a computing device (e.g., the computing device 100 described above).
It should be noted that one or more application programs are run on the operating system, and the application programs include application programs implemented by a plug-in framework based on a microkernel architecture, and the application programs can implement corresponding functions by loading plug-ins.
As shown in fig. 2, the method 200 begins at step S210.
In step S210, when the application program on the operating system runs abnormally, the current stack information of the application program is acquired. And analyzing the stack information to obtain at least one plug-in library name from the stack information. Here, the stack information includes a plurality of stack frames, each stack frame corresponds to a function call, and each stack frame may include a corresponding plug-in library name and function name.
In one implementation, the backtrace function may be utilized to obtain current stack information for the application. Specifically, a signal function may be used to monitor a system signal and register a processing function, after a signal that an application program runs abnormally is monitored, a background function in the processing function is used to obtain current stack information of the application program, and then a demangle function may be called to convert an ABI identifier into a source program identifier, and the converted stack information is written into a log.
For example, when writing code within the initialize function of a plug-in with library name library. int a = 1/0, because the denominator is 0, when the application program is running, a crash occurs, and an example of the stack information (including a plurality of stack frames) captured by the backspace function is as follows:
[demo]0x7ffff6cdd970:0x7ffff6cdd970@/lib/x86_64-linux-gnu/libc.so.6
[demo]0x7fffe0277fd7:Recent::initialize()+0xdf@/home/mozart/work/gerrit/demo/build/Debug/librecent.so
[demo]0x7ffff7f77b88:0x7ffff7f77b88@/home/mozart/work/gerrit/demo/build/Debug/libframework.so
in one embodiment, when obtaining the plug-in library name from the stack information, one stack frame at a time may be fetched from the stack information in order from top to bottom, and the plug-in library name may be obtained from the fetched stack frame. Here, the plug-in library name may be intercepted from the popped stack frame based on a character string interception method.
For example, the first stack frame fetched from the stack information is [ demo ] 0x7ffff6cdd970: 0x7ffff6cdd970@/lib/x86_64-linux-gnu/libc. The library name "libc. so.6" can be intercepted from the first stack frame by using a character string interception method.
In addition, it should be noted that, if the first stack frame obtained corresponds to the application itself, it indicates that the location causing the running exception of the application is in the application main body, but not in the plug-in, in which case the subsequent steps do not need to be executed continuously.
After acquiring the plug-in library name from the stack frame in the stack information each time, step S230 is executed.
In step S220, the plug-in library name obtained this time is compared with one or more plug-in information corresponding to the application program, and it is determined whether plug-in information matching with the plug-in library name exists.
Here, the plug-in information corresponding to the application is usually stored in a predetermined directory at the time of initialization of the application, and the plug-in information usually includes plug-in basic information such as a library name, a function name, and a path. Specifically, whether the plug-in library name is matched with the library name in the plug-in information is determined by acquiring one or more plug-in information stored in a preset directory by an application program during initialization and comparing the plug-in library name with the library name in the one or more plug-in information.
In step S230, if there is plug-in information matching with the plug-in library name, which indicates that the plug-in inside the application program is abnormal, the plug-in information matching with the plug-in library name is obtained, and the plug-in corresponding to the plug-in information matching with the plug-in library name is determined as an abnormal plug-in (i.e., a plug-in causing an abnormality or a crash of the application program).
In addition, if there is no plug-in information that matches the plug-in library name (i.e., the library name in each plug-in information corresponding to the application does not match the plug-in library name), the next stack frame is taken out from the stack information in the order from top to bottom. And then, acquiring a next plug-in library name from a next stack frame based on a character string interception method so as to compare the next plug-in library name with plug-in information corresponding to the application program and determine whether plug-in information matched with the next plug-in library name exists or not until the plug-in information matched with the plug-in library name is acquired so as to determine a corresponding abnormal plug-in, or until the plug-in library names in all stack frames of the stack information are compared with the plug-in information.
Finally, in step S240, plug-in configuration information corresponding to the abnormal plug-in is obtained, and the plug-in configuration information is displayed on the abnormal processing interface, so that the plug-in configuration information is presented to the user. In other words, an exception handling interface is displayed on a screen of the computing device and plug-in configuration information for the exception plug-in is presented on the exception handling interface.
The plug-in configuration information is related information which is configured for each plug-in advance and is provided for the user to view, and is concerned by the user, and includes, for example, a service name corresponding to the plug-in, plug-in action information, and the like, and may further include information such as a version number, an author, and the like. It should be noted that the present invention is not limited to a specific kind of plug-in configuration information.
According to the technical scheme of the invention, after the abnormal plug-in is determined, the plug-in configuration information is displayed on the abnormal processing interface and presented to the user, and the service name, the plug-in action information and the like in the plug-in configuration information are all information concerned by the user, so that the user can clearly know the specific information of the abnormal plug-in causing application breakdown according to the plug-in configuration information so as to correspondingly process the abnormal plug-in.
In one embodiment, the plug-in configuration information may be configured based on metadata. Specifically, by writing the plug-in configuration information such as the service name and the action information into the plug-in metadata and establishing the association relationship between the plug-in library name and the plug-in metadata, the corresponding plug-in metadata can be acquired based on the plug-in library name.
In one implementation, an example of writing plug-in configuration information to plug-in metadata is as follows:
{
"Name": historical plug-in ",
description adding browsing history button on side bar to support browsing history file "
...
}
Based on this, when obtaining the plug-in configuration information of the abnormal plug-in, it is preferable that plug-in metadata corresponding to the plug-in library name be obtained based on the plug-in library name, and then the plug-in configuration information of the abnormal plug-in is obtained from the plug-in metadata. Further, the plug-in configuration information may be presented on an exception handling interface and presented to a user.
Fig. 3 and 4 are schematic diagrams respectively illustrating an exception handling interface according to an embodiment of the present invention.
As shown in fig. 3, the plug-in configuration information displayed on the exception handling interface includes a service name "history plug-in", and also includes action information "add browse history button on sidebar, support browse history file" of the exception plug-in.
In addition, the exception handling interface also comprises an expansion control, an unloading control and a cancellation control. The user may request to view extension information, such as stack frame information including exception plug-ins, by clicking on the extension control. And, the user can request to uninstall the plug-in by clicking the uninstall control.
In one embodiment, after receiving a click operation of the user on the extension control on the exception handling interface, the operating system responds to the click operation on the extension control, and presents corresponding stack frame information on the exception handling interface as shown in fig. 4. Here, the stack frame information includes a corresponding plug-in library name (library. so), function name.
In one embodiment, after receiving a user click operation on an unloading control on an exception handling interface, an operating system displays an unloading plug-in list interface on a screen of a computing device in response to the user click operation on the unloading control. FIG. 5 illustrates a schematic diagram of an uninstall plug-in roster interface, according to one embodiment of the invention. As shown in fig. 5, service names corresponding to a plurality of plug-ins (e.g., abnormal plug-ins) are displayed on the uninstall plug-in list interface, and include, for example, "history plug-in," "picture preview plug-in," "video preview plug-in," and so on. And a removing button and a canceling button are also included on the uninstalling plug-in list interface.
The user can select one or more service names corresponding to the plug-ins to be unloaded on the list interface of the plug-ins to be unloaded and click on the removal button. After that, the operating system can acquire one or more service names to be uninstalled selected by the user on the uninstalling plug-in list interface, and uninstall the plug-in corresponding to the service name based on the service name. It can be understood that the user can select to uninstall the abnormal plug-in on the uninstalling plug-in list interface, so that after the application is restarted, the situation that the abnormality occurs again in the application running process can be avoided, and the stable running of the application is facilitated.
In one implementation, the operating system may offload the plug-ins by creating a blacklist and by writing the plug-ins corresponding to the service names to the blacklist. Therefore, after the application program is restarted, the blacklist can be read, the plug-ins in the blacklist cannot be loaded to the application, the plug-ins can be unloaded, and accordingly, the functions realized by the unloaded plug-ins can be removed correspondingly.
For example, by creating a json-formatted blacklist, the full path (/ home/mozart/work/gerrit/demo/built/Debug/library. In addition, the user can request the recovery of the uninstalled plug-in through the interface, and accordingly, the recovery of the uninstalled plug-in is realized by removing the plug-in from the blacklist through the operating system.
In one implementation, automatic launching of the application may also be accomplished by writing a script. Specifically, step 1: by writing a shell script, two input parameters are set, one of which is the application path P and the other is the polling interval D (in ms). Step 2: when the application program crashes, a shell script is started in a signal processing function, and a path P and a polling interval D are used as parameters. The shell script acquires an application name N according to the path P, then acquires system process information, and tries to find a process matched with the N. If a matching process is found, which indicates that the program has not exited, the polling interval D is continued and step 3 is repeated again. If no matched process is found, the program is crashed and exits, at this time, the application program is started according to the path P, and the script exits after the operation is completed. It should be noted that the present invention is not limited to the specific implementation of application self-launching described above.
FIG. 6 shows a schematic diagram of an exception plug-in handling apparatus 600 according to an embodiment of the present invention. The exception plug-in handling apparatus 600 resides in an operating system of a computing device (e.g., the computing device 100) and is adapted to execute the exception plug-in handling method 200 of the present invention. One or more applications run on the operating system.
As shown in fig. 6, the exception plugin processing apparatus 600 includes an obtaining module 610, a comparing module 620, a determining module 630, and a displaying module 640, which are connected in sequence. When the application program runs abnormally, the obtaining module 610 may obtain current stack information of the application program, and obtain a plug-in library name from the stack information. The comparison module 620 compares the plug-in library name with one or more plug-in information corresponding to the application program to determine whether plug-in information matching the plug-in library name exists. If the plug-in information matched with the plug-in library name exists, the determining module 630 determines the plug-in corresponding to the plug-in information as an abnormal plug-in. The display module 640 obtains the plug-in configuration information corresponding to the abnormal plug-in, and displays the plug-in configuration information on the abnormal processing interface to be presented to the user.
It should be noted that the obtaining module 610 is configured to perform the aforementioned step S210, the comparing module 620 is configured to perform the aforementioned step S220, the determining module 630 is configured to perform the aforementioned step S230, and the displaying module 640 is configured to perform the aforementioned step S240. Here, for the specific execution logic of the obtaining module 610, the comparing module 620, the determining module 630 and the displaying module 640, reference is made to the description of the steps S210 to S240 in the method 200, and details are not repeated here.
According to the abnormal plug-in processing method, when the application program runs abnormally, the stack information is obtained, the plug-in library name is obtained from the stack frame, the plug-in configuration information can be displayed on the abnormal processing interface and presented to a user after the abnormal plug-in is determined based on the comparison of the library names, and the plug-in configuration information comprises the information concerned by the user, such as the service name, the plug-in action information and the like, so that the user can clearly know the specific information of the abnormal plug-in causing the application crash according to the plug-in configuration information, and the abnormal plug-in is correspondingly processed. Further, the user may perform relevant processing operations on the exception plug-in at the exception handling interface, for example, the exception plug-in may be added to a blacklist to enable uninstalling of the exception plug-in. Therefore, after the application is restarted, the abnormity is avoided from appearing again in the running process of the application, and the stable running of the application is facilitated.
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 exception plug-in handling 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.
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.
Similarly, 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. 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.
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 (12)

1. An exception plug-in handling method, executed in an operating system on which one or more applications run, comprising the steps of:
when the application program runs abnormally, acquiring the current stack information of the application program, and acquiring a plug-in library name from the stack information;
comparing the plug-in library name with one or more plug-in information corresponding to the application program to determine whether plug-in information matched with the plug-in library name exists or not;
if the plug-in information matched with the plug-in library name exists, determining the plug-in corresponding to the plug-in information as an abnormal plug-in; and
and acquiring plug-in configuration information corresponding to the abnormal plug-in, and displaying the plug-in configuration information on an abnormal processing interface to present to a user.
2. The method of claim 1, wherein the step of obtaining the plug-in configuration information corresponding to the abnormal plug-in comprises:
acquiring plug-in metadata corresponding to the plug-in library name;
and acquiring the plug-in configuration information of the abnormal plug-in from the plug-in metadata.
3. The method of claim 1, wherein the plug-in configuration information comprises service name and role information corresponding to the plug-in.
4. A method according to any one of claims 1-3, further comprising the step of:
and receiving the clicking operation of the expansion control on the exception handling interface, and presenting corresponding stack frame information on the exception handling interface.
5. A method according to any one of claims 1-3, further comprising the step of:
receiving click operation on an unloading control on the exception handling interface, and displaying an unloading plug-in list interface;
and acquiring one or more service names selected on the uninstalling plug-in list interface, and uninstalling the plug-ins corresponding to the service names.
6. The method of claim 5, wherein the step of uninstalling the exception plug-in comprises:
and creating a blacklist, and writing the plug-in corresponding to the service name into the blacklist so as to read the blacklist after an application program is started, and not loading the plug-in.
7. A method according to any one of claims 1-3, wherein the stack information comprises a plurality of stack frames, and the step of obtaining a plug-in library name from the stack information comprises:
taking out one stack frame from the stack information in the order from top to bottom each time;
and acquiring the name of the plug-in library from the taken stack frame based on a character string interception method.
8. The method of claim 7, further comprising the steps of:
if the plug-in information matched with the plug-in library name does not exist, taking out the next stack frame from the stack information according to the sequence from top to bottom; and
and acquiring a next plug-in library name from the next stack frame based on a character string interception method so as to compare the next plug-in library name with plug-in information corresponding to the application program.
9. The method of any of claims 1-3, wherein comparing the plug-in library name to one or more plug-in information corresponding to the application comprises:
acquiring one or more pieces of plug-in information of the application program stored in a preset directory during initialization;
and comparing the plug-in library name with the one or more plug-in information.
10. An exception plug-in handling apparatus residing in an operating system on which one or more applications run, the apparatus comprising:
the acquisition module is suitable for acquiring the current stack information of the application program when the application program operates abnormally and acquiring the name of a plug-in library from the stack information;
the comparison module is suitable for comparing the plug-in library name with one or more plug-in information corresponding to the application program so as to determine whether plug-in information matched with the plug-in library name exists or not;
the determining module is suitable for determining the plug-in corresponding to the plug-in information as an abnormal plug-in when the plug-in information matched with the plug-in library name is determined to exist; and
and the display module is suitable for acquiring the plug-in configuration information corresponding to the abnormal plug-in and displaying the plug-in configuration information on an abnormal processing interface so as to present the plug-in configuration information to a user.
11. A computing device, comprising:
at least one processor; and
a memory storing program instructions, wherein the program instructions are configured to be adapted to be executed by the at least one processor, the program instructions comprising instructions for performing the method of any of claims 1-9.
12. A readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the method of any of claims 1-9.
CN202111436497.8A 2021-11-30 2021-11-30 Abnormal plug-in processing method and device and computing equipment Pending CN113867847A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111436497.8A CN113867847A (en) 2021-11-30 2021-11-30 Abnormal plug-in processing method and device and computing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111436497.8A CN113867847A (en) 2021-11-30 2021-11-30 Abnormal plug-in processing method and device and computing equipment

Publications (1)

Publication Number Publication Date
CN113867847A true CN113867847A (en) 2021-12-31

Family

ID=78985326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111436497.8A Pending CN113867847A (en) 2021-11-30 2021-11-30 Abnormal plug-in processing method and device and computing equipment

Country Status (1)

Country Link
CN (1) CN113867847A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114328273A (en) * 2022-03-07 2022-04-12 统信软件技术有限公司 Debugging method and device for application program control and computing equipment
CN116126735A (en) * 2023-04-13 2023-05-16 紫光同芯微电子有限公司 Code exception handling method, device, equipment and storage medium
CN117056115A (en) * 2023-10-10 2023-11-14 腾讯科技(深圳)有限公司 Application program repairing method and device, storage medium and electronic equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160321126A1 (en) * 2014-10-16 2016-11-03 International Business Machines Corporation Automated diagnosis of software crashes
CN107239381A (en) * 2017-06-07 2017-10-10 北京奇虎科技有限公司 The processing method of crash info, apparatus and system
CN107704356A (en) * 2017-06-12 2018-02-16 平安科技(深圳)有限公司 Exception stack information acquisition method, device and computer-readable recording medium
CN111064590A (en) * 2018-10-16 2020-04-24 腾讯科技(深圳)有限公司 Abnormal state repairing method and device and readable storage medium
CN111125015A (en) * 2019-12-20 2020-05-08 北京百度网讯科技有限公司 Method, apparatus, terminal and medium for dump file classification
CN112306833A (en) * 2020-10-28 2021-02-02 广州虎牙科技有限公司 Application program crash statistical method and device, computer equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160321126A1 (en) * 2014-10-16 2016-11-03 International Business Machines Corporation Automated diagnosis of software crashes
CN107239381A (en) * 2017-06-07 2017-10-10 北京奇虎科技有限公司 The processing method of crash info, apparatus and system
CN107704356A (en) * 2017-06-12 2018-02-16 平安科技(深圳)有限公司 Exception stack information acquisition method, device and computer-readable recording medium
CN111064590A (en) * 2018-10-16 2020-04-24 腾讯科技(深圳)有限公司 Abnormal state repairing method and device and readable storage medium
CN111125015A (en) * 2019-12-20 2020-05-08 北京百度网讯科技有限公司 Method, apparatus, terminal and medium for dump file classification
CN112306833A (en) * 2020-10-28 2021-02-02 广州虎牙科技有限公司 Application program crash statistical method and device, computer equipment and storage medium

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
RICHARD BLUM: "《qmail实用技术指南》", 31 July 2000 *
匿名: "保护企业IT安全", 《网络信息和信息化》 *
匿名: "应用与技巧", 《新电脑》 *
李秋婷: "面向安卓应用的崩溃信息线上分析系统的设计与实现", 《中国优秀硕士论文全文数据库》 *
艾明耀: "《高级GIS开发教程》", 31 October 2017 *
蒋建春: "《计算机网络信息安全理论与实践教程》", 31 May 2008 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114328273A (en) * 2022-03-07 2022-04-12 统信软件技术有限公司 Debugging method and device for application program control and computing equipment
CN114328273B (en) * 2022-03-07 2022-07-12 统信软件技术有限公司 Debugging method and device for application program control and computing equipment
CN116126735A (en) * 2023-04-13 2023-05-16 紫光同芯微电子有限公司 Code exception handling method, device, equipment and storage medium
CN116126735B (en) * 2023-04-13 2023-08-15 紫光同芯微电子有限公司 Code exception handling method, device, equipment and storage medium
CN117056115A (en) * 2023-10-10 2023-11-14 腾讯科技(深圳)有限公司 Application program repairing method and device, storage medium and electronic equipment
CN117056115B (en) * 2023-10-10 2024-03-15 腾讯科技(深圳)有限公司 Application program repairing method and device, storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
CN113867847A (en) Abnormal plug-in processing method and device and computing equipment
CN111563024B (en) Method and device for monitoring container process on host machine and computing equipment
CN113434205B (en) Operating system starting method and computing device
CN113032032B (en) System management method and device, computing equipment and readable storage medium
CN112445708A (en) Pressure testing method and device and computing equipment
CN114416252A (en) Window display method and device, computing equipment and storage medium
CN114691226A (en) Multi-operating-system switching operation method, computing device and storage medium
CN113396391B (en) Application program starting method and device, electronic equipment and storage medium
CN113778834B (en) System performance testing method and device of application software and computing equipment
CN113961086B (en) Shortcut key implementation method, computing device and storage medium
CN113821264B (en) Operating system installation control method, installation control system and computing device
CN113485712B (en) Kernel clipping method and computing device
CN113282435B (en) Application exception processing method and electronic equipment
CN112463165B (en) Program mirror image construction method, system, computing device and readable storage medium
CN110442380B (en) Data preheating method and computing equipment
CN113254248A (en) Fault diagnosis method and system and computing equipment
CN111782504B (en) Application program abnormality diagnosis method, mobile terminal and readable storage medium
CN114328273B (en) Debugging method and device for application program control and computing equipment
CN111897741B (en) Application software detection method and computing device
CN113722715B (en) Imported file checking method, checking system and computing equipment
CN114884974B (en) Data multiplexing method, system and computing device
CN112015431B (en) Method, device, computer equipment and storage medium for modifying firmware information by one key
CN113722011B (en) Application interface starting method, device, equipment and storage medium
CN112491799B (en) Remote repair method and device for communication module, computer equipment and storage medium
CN112199237B (en) System service recovery method and device and electronic equipment

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