CN113867847A - Abnormal plug-in processing method and device and computing equipment - Google Patents
Abnormal plug-in processing method and device and computing equipment Download PDFInfo
- 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
Links
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 58
- 238000003672 processing method Methods 0.000 title abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 abstract description 11
- 230000006870 function Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009131 signaling function Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
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
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.
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)
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)
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 |
-
2021
- 2021-11-30 CN CN202111436497.8A patent/CN113867847A/en active Pending
Patent Citations (6)
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)
Title |
---|
RICHARD BLUM: "《qmail实用技术指南》", 31 July 2000 * |
匿名: "保护企业IT安全", 《网络信息和信息化》 * |
匿名: "应用与技巧", 《新电脑》 * |
李秋婷: "面向安卓应用的崩溃信息线上分析系统的设计与实现", 《中国优秀硕士论文全文数据库》 * |
艾明耀: "《高级GIS开发教程》", 31 October 2017 * |
蒋建春: "《计算机网络信息安全理论与实践教程》", 31 May 2008 * |
Cited By (6)
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 |