CN110457151B - Thermal restoration method and device and readable storage medium - Google Patents

Thermal restoration method and device and readable storage medium Download PDF

Info

Publication number
CN110457151B
CN110457151B CN201910620523.9A CN201910620523A CN110457151B CN 110457151 B CN110457151 B CN 110457151B CN 201910620523 A CN201910620523 A CN 201910620523A CN 110457151 B CN110457151 B CN 110457151B
Authority
CN
China
Prior art keywords
function
repaired
target
class
name
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.)
Active
Application number
CN201910620523.9A
Other languages
Chinese (zh)
Other versions
CN110457151A (en
Inventor
邓竹立
吕庆春
彭飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuba Co Ltd
Original Assignee
Wuba 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 Wuba Co Ltd filed Critical Wuba Co Ltd
Priority to CN201910620523.9A priority Critical patent/CN110457151B/en
Publication of CN110457151A publication Critical patent/CN110457151A/en
Application granted granted Critical
Publication of CN110457151B publication Critical patent/CN110457151B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the invention provides a thermal restoration method, a thermal restoration device and a readable storage medium. The thermal restoration method comprises the following steps: obtaining a hot repair JS script corresponding to an application program; determining a function signature of at least one OC function to be repaired through the hot repair JS script; generating a new function pointer of each OC function to be repaired according to the function signature of the OC function to be repaired; replacing the original function pointer of at least one OC function to be repaired with the new function pointer of at least one OC function to be repaired; if a target OC function to be repaired in the OC function to be repaired is executed, executing a new function pointer of the target OC function to be repaired to call a first callback function; by calling the first callback function, the target OC function corresponding to the target OC function to be repaired is determined, and the target OC function is executed for processing, so that efficient hot repair of the APP version is realized.

Description

Thermal restoration method and device and readable storage medium
Technical Field
The present invention relates to the field of internet technologies, and in particular, to a thermal repair method, device, and readable storage medium.
Background
With the rapid development of the internet, mobile terminals have become one of the indispensable tools in people's lives. In order to increase the flexibility of the mobile terminal, the third-party server develops a plurality of Applications (APPs) for implementing different functions based on the running system of the mobile terminal, and the user can perform activities of corresponding functions through the mobile terminal only by installing the APP capable of implementing a certain function in the mobile terminal.
In the prior art, when some functions of the released APP are abnormal, the most common technical means is to perform hot repair on the APP with the abnormality by adopting an open-source JSPatch framework. The specific thermal restoration scheme is as follows: the JSPath carries out regular detection on the JS file after the JS file (the JS file is a JS code file written by Javascript) is issued to the mobile terminal, replaces a JS function in the JS file by a specific JS function template, acquires information such as the name, return value and parameter of an OC function to be repaired in the specific function template, and executes the OC code through the JS code when the message is forwarded, wherein the OC function is a function written through Objective-C language.
As the JSPatch utilizes the message forwarding mechanism of the Objective-C language, the message forwarding execution time of the Objective-C language is relatively later, and the execution efficiency is lower when a large amount of JS codes written by Javascript are circulated to execute OC codes.
Disclosure of Invention
In view of the above, embodiments of the present invention are proposed in order to provide a thermal remediation method, apparatus and readable storage medium that overcome or at least partially address the above-mentioned problems.
In a first aspect of the present invention, a thermal restoration method is provided, including:
acquiring a hot repair JS script corresponding to the application program;
determining a function signature of at least one OC function to be repaired through the hot repair JS script;
generating a new function pointer of each OC function to be repaired according to the function signature of the OC function to be repaired;
replacing the original function pointer of the OC function to be repaired with the new function pointer of the OC function to be repaired;
if a target OC function to be repaired in the at least one OC function to be repaired is executed, executing a new function pointer of the target OC function to be repaired to call a first callback function;
and determining a target OC function corresponding to the target OC function to be repaired by calling the first callback function, and executing the target OC function for processing.
In a second aspect of the present invention, there is provided a thermal prosthetic device comprising:
the acquisition module is used for acquiring the hot repair JS script corresponding to the application program;
the determining module is used for determining a function signature of at least one OC function to be repaired through the hot repairing JS script;
a generating module, configured to generate a new function pointer of each of the at least one OC function to be repaired according to the function signature of the at least one OC function to be repaired;
a replacement module, configured to replace an original function pointer of the at least one OC function to be repaired with a new function pointer of the at least one OC function to be repaired;
the execution module is configured to execute a new function pointer of the target OC function to be repaired to call the first callback function if the target OC function to be repaired in the at least one OC function to be repaired is executed;
the determining module is further configured to determine a target OC function corresponding to the target OC function to be repaired by calling the first callback function, and execute the target OC function for processing.
In a third aspect of the invention, a computer-readable storage medium is provided, on which a computer program is stored, which computer program, when being executed by a processor, carries out the steps of the thermal remediation method as set forth in any one of the preceding claims.
In a fourth aspect of the present invention, there is provided a thermal remediation device comprising a processor, a memory and a computer program stored on the memory and executable on the processor, the computer program, when executed by the processor, implementing the steps of the thermal remediation method as claimed in any one of the preceding claims.
The embodiment of the invention has the following advantages:
according to the method, the device and the readable storage medium for hot patching provided by the embodiment, the JS script corresponding to the application program is obtained; determining a function signature of at least one OC function to be repaired through the hot repair JS script; generating a new function pointer of each OC function to be repaired according to the function signature of the OC function to be repaired; replacing the original function pointer of at least one OC function to be repaired with the new function pointer of at least one OC function to be repaired; if a target OC function to be repaired in the OC function to be repaired is executed, executing a new function pointer of the target OC function to be repaired to call a first callback function; and determining a target OC function corresponding to the target OC function to be repaired by calling the first callback function, and executing the target OC function for processing. The embodiment of the invention adopts a technical scheme different from JPatch, and the whole process does not relate to a message forwarding mechanism, thereby ensuring that the APP version is efficiently and thermally repaired.
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
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
FIG. 1 is a flow chart illustrating steps of a thermal remediation method according to an embodiment of the present invention;
FIG. 2 is a flow chart illustrating steps of another thermal remediation method according to an embodiment of the present invention;
FIG. 3 is a schematic structural diagram of a thermal repair apparatus according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of another thermal repair apparatus according to an embodiment of the present invention.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
It should be understood that the specific embodiments described herein are merely illustrative of the invention, but do not limit the invention to only some, but not all embodiments.
Referring to fig. 1, fig. 1 is a flowchart of steps of a thermal repair method according to an embodiment of the present invention, where the thermal repair method is suitable for performing thermal repair on an application program in an Operating System, where the Operating System may include other Operating systems such as an IPhone Operating System (IOS) System and an android System, and the method may be executed by a thermal repair apparatus, and the apparatus may be composed of hardware and software, and may generally be integrated in a computer, a server, and all terminals that include performing thermal repair on an application program. As shown in fig. 1, the method specifically includes the following steps.
And step 101, acquiring a hot repair JS script corresponding to the application program.
In the embodiment of the invention, the APP is written through OC language, and the hot-repair JS script is a code file written through Javascript (JS for short).
In this embodiment, an introduction is given by taking an operation System (i.e., an iPhone Operating System, abbreviated as IOS) System of a handheld device as an example, when an IOS client is started each time, the client sends a request message to a server, the request message includes a version number of an APP, the server determines whether to issue a hot repair JS script to the client according to the request message and a locally stored configuration file, and if the APP version number included in the request message is consistent with the APP version number stored in the configuration file, the hot repair JS script corresponding to the APP is issued to the client, and the client can obtain the hot repair JS script corresponding to the application version number.
And 102, determining a function signature of at least one OC function to be repaired through the hot repair JS script.
Each function can be composed of a function name, a parameter number, a parameter type and a return value, and the function signature is composed of the parameter number and the parameter type.
Step 103, generating a new function pointer of each of the at least one OC function to be repaired according to the function signature of the at least one OC function to be repaired.
The process of generating the new function pointer can be realized through MABlockClosure, wherein MABlockClosure is a third-party framework based on Libffi, a function pointer can be quickly created according to function description, and Libffi is an open-source framework capable of dynamically calling a C language function.
MABlockClosure is a libffi-based encapsulation. The principle of libffi is as follows: the return value type, the parameter type and the parameter number of the function can be obtained according to the function signature of the function, and a new function pointer of the function can be generated according to the return value type, the parameter type and the parameter number of the function. In this embodiment, according to the respective function signature of each to-be-repaired OC function in the at least one to-be-repaired OC function determined in step 102, a respective new function pointer of each to-be-repaired OC function may be used, for example, if the to-be-repaired OC function is an OC function 1 and an OC function 2, a new function pointer of the OC function 1 may be generated according to the function signature of the OC function 1, and a new function pointer of the OC function 2 may be generated according to the function signature of the OC function 2.
And step 104, replacing the original function pointer of the OC function to be repaired with the new function pointer of the OC function to be repaired.
After the new function pointer is generated, the original function pointer may be replaced with the new function pointer. For example, the new function pointer of OC function 1 is used to replace the primitive function pointer of OC function 1, and the new function pointer of OC function 2 is used to replace the primitive function pointer of OC function 2.
Step 105, if the target OC function to be repaired in the at least one OC function to be repaired is executed, executing a new function pointer of the target OC function to be repaired to call the first callback function.
And 106, determining a target OC function corresponding to the target OC function to be repaired by calling the first callback function, and executing the target OC function for processing.
In steps 105 and 106, for example, if the target OC function to be repaired is OC function 1, when OC function 1 is executed, the new function pointer of OC function 1 is executed to call the first callback function, the target OC function corresponding to OC function 1 is determined by calling the first callback function, and the target OC function is executed for hot repair.
According to the hot repair method provided by the embodiment, the JS script corresponding to the application program is obtained; determining a function signature of at least one OC function to be repaired through the hot repair JS script; generating a new function pointer of each OC function to be repaired according to the function signature of the OC function to be repaired; replacing the original function pointer of at least one OC function to be repaired with the new function pointer of at least one OC function to be repaired; if a target OC function to be repaired in the OC function to be repaired is executed, executing a new function pointer of the target OC function to be repaired to call a first callback function; and determining a target OC function corresponding to the target OC function to be repaired by calling the first callback function, and executing the target OC function for processing. The whole process of the embodiment does not relate to a message forwarding mechanism, so that efficient hot repair of the APP version is guaranteed.
On the basis of the foregoing embodiment, fig. 2 is a flowchart illustrating steps of another thermal repair method according to an embodiment of the present invention, and as shown in fig. 2, the method may include:
and step 201, acquiring a hot repair JS script corresponding to the application program.
The client can acquire the hot fix JS script corresponding to the application program in the following way: sending a request message to a server, wherein the request message contains the version number of the application program; and receiving the hot repairing JS script which is issued by the server according to the request message and the locally stored configuration file and corresponds to the version number of the application program.
Step 202, obtaining at least one OC class name to be repaired in the application program, a first JS function list corresponding to the to-be-repaired instance method of the at least one OC class to be repaired, and a second JS function list corresponding to the to-be-repaired OC class method of the at least one OC class to be repaired through the hot-repair JS script.
Step 203, determining a function signature of the to-be-repaired OC function corresponding to each first JS function name according to the at least one to-be-repaired OC class name and each first JS function name in the first JS function list corresponding to the to-be-repaired instance method of the at least one to-be-repaired OC class; and the number of the first and second groups,
and determining a function signature of the OC function to be repaired corresponding to each second JS function name according to the at least one OC class name to be repaired and each second JS function name in the second JS function list corresponding to the method of the OC class to be repaired.
It should be noted that, after the client obtains the hot repair JS script corresponding to the application program in step 201, the hot repair JS script can be executed. When the JS script for hot fix is executed, the entry function of the JS script for hot fix is executed first, and the entry function may be: the method comprises the steps of startPatch (), wherein a function body of the startPatch contains a class definition function defineClass, the defineClass function is executed immediately when an entry function is executed, at least one OC class name to be repaired in the APP, a first JS function list corresponding to an instance method to be repaired in at least one OC class to be repaired and a second JS function list corresponding to an OC class method to be repaired in at least one OC class to be repaired are obtained by executing the defineClass function. For example, if the OC class name to be repaired includes a first OC class name to be repaired and a second OC class name to be repaired, each first JS function name included in a first JS function list corresponding to the example method to be repaired of the first OC class to be repaired is JS function 1 and JS function 2, and each second JS function name in a second JS function list corresponding to the OC class method to be repaired of the first OC class to be repaired is JS function 3 and JS function 4; each first JS function in the first JS function list corresponding to the to-be-repaired instance method of the second to-be-repaired OC class is named as JS function 5 and JS function 6, and each second JS function in the second JS function list corresponding to the to-be-repaired OC class method of the second to-be-repaired OC class is named as JS function 7 and JS function 8. Determining an OC function to be repaired (OC function 1) corresponding to the JS function 1 according to the first OC class name to be repaired and the JS function 1, and acquiring a function signature of the OC function 1 through the OC function 1; determining an OC function (OC function 2) to be repaired corresponding to the JS function 2 according to the first OC class name to be repaired and the JS function 2, and acquiring a function signature of the OC function 2 through the OC function 2; determining an OC function (OC function 3) to be repaired corresponding to the JS function 3 according to the first OC class name to be repaired and the JS function 3, and acquiring a function signature of the OC function 3 through the OC function 3; determining an OC function to be repaired (OC function 4) corresponding to the JS function 4 according to the first OC class name to be repaired and the JS function 4, and acquiring a function signature of the OC function 4 through the OC function 4. Similarly, a function signature of the to-be-repaired OC function corresponding to the JS function 5, a function signature of the to-be-repaired OC function corresponding to the JS function 6, a function signature of the to-be-repaired OC function corresponding to the JS function 7, and a function signature of the to-be-repaired OC function corresponding to the JS function 8 may be obtained, which are not described in detail herein by way of example.
After obtaining at least one OC class name to be repaired in the application program, a first JS function list corresponding to the to-be-repaired instance method of the at least one OC class to be repaired, and a second JS function list corresponding to the to-be-repaired instance method of the at least one OC class to be repaired, each first JS function in the first JS function list corresponding to the to-be-repaired instance method of the at least one OC class to be repaired and each second JS function in the second JS function list corresponding to the to-be-repaired OC class method of the at least one OC class to be repaired can be saved in a dictionary corresponding to the at least one OC class to be repaired. For example, a JS function 1 and a JS function 2 in a first JS function list corresponding to the to-be-repaired instance method of the first to-be-repaired OC class and a JS function 3 and a JS function 4 in a second JS function list corresponding to the to-be-repaired OC class are stored in a dictionary 1 corresponding to the first to-be-repaired OC class, that is, the JS function 1, the JS function 2, the JS function 3, and the JS function 4 are stored in the dictionary 1 corresponding to the first to-be-repaired OC class, and similarly, a JS function 5, a JS function 6, a JS function 7, and a JS function 8 are stored in a dictionary 2 corresponding to the second to-be-repaired OC class. Note that the dictionary is a data structure of mabockclosure.
Step 204, generating a new function pointer of the to-be-repaired OC function corresponding to each first JS function name according to the function signature of the to-be-repaired OC function corresponding to each first JS function name; and generating a new function pointer of the to-be-repaired OC function corresponding to each second JS function name according to the function signature of the to-be-repaired OC function corresponding to each second JS function name.
According to the function signature of the to-be-repaired OC function corresponding to each first JS function name, generating a new function pointer of the to-be-repaired OC function corresponding to each first JS function name can be realized in the following manner:
according to the function signature of the to-be-repaired OC function corresponding to each first JS function name, the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each first JS function name are obtained; and generating a new function pointer of the to-be-repaired OC function corresponding to each first JS function name according to the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each first JS function name.
For example, a new function pointer of OC function 1 is generated according to the return value type, parameter type and number of parameters of OC function 1, a new function pointer of OC function 2 is generated according to the return value type, parameter type and number of parameters of OC function 2,
according to the function signature of the to-be-repaired OC function corresponding to each second JS function name, generating a new function pointer of the to-be-repaired OC function corresponding to each second JS function name can be realized in the following manner:
according to the function signature of the to-be-repaired OC function corresponding to each second JS function name, the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each second JS function name are obtained; and generating a new function pointer of the to-be-repaired OC function corresponding to each second JS function name according to the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each second JS function name.
For example, a new function pointer of the OC function 3 is generated according to the return value type, the parameter type, and the number of parameters of the OC function 3, and a new function pointer of the OC function 4 is generated according to the return value type, the parameter type, and the number of parameters of the OC function 4.
Step 205, if the target OC function to be repaired in the at least one OC function to be repaired is executed, executing a new function pointer of the target OC function to be repaired.
If the target OC function to be repaired is OC function 1, the new function pointer of OC function 1 is executed when OC function 1 is executed.
And step 206, acquiring an object pointer of the target OC function to be repaired by calling the first callback function.
In steps 205 to 206, for example, when the OC function 1 executes, a new function pointer of the OC function 1 is executed, and when the new function pointer of the OC function 1 executes, the first callback function may be called to obtain an object pointer of the OC function 1. The first callback function may be a callback function of mabockclosure.
Step 207, according to the object pointer, determining a target OC class to be repaired to which the target OC function to be repaired belongs from the at least one OC class to be repaired.
And 208, determining a target OC function corresponding to the target OC function to be repaired according to the target OC class to be repaired.
According to the target to-be-repaired OC class, determining the target OC function corresponding to the target to-be-repaired OC function can be realized in the following modes:
according to the OC class to be repaired, determining a hot repair JS function associated with the OC function to be repaired from a first JS function list corresponding to a to-be-repaired example method of the OC class to be repaired and a second JS function list corresponding to a target to-be-repaired OC class method of the OC class to be repaired; and determining a target OC function corresponding to the target OC function to be repaired according to the hot repairing JS function.
Specifically, through step 207 and step 208, the target to-be-repaired OC class to which the target to-be-repaired OC function belongs can be indexed according to the object pointer, and since each to-be-repaired OC class corresponds to one dictionary, each first JS function in the first JS function list corresponding to the to-be-repaired instance method in the to-be-repaired OC class and each second JS function in the second JS function list corresponding to the to-be-repaired OC class method in the to-be-repaired OC class are stored in the dictionary corresponding to one to-be-repaired OC class. Therefore, after the OC class to be repaired is determined, the JS function to be thermally repaired corresponding to the OC function to be repaired can be determined from the first JS function list corresponding to the to-be-repaired instance method of the OC class to be repaired, which is stored in the dictionary corresponding to the OC class to be repaired, and the second JS function list corresponding to the target to-be-repaired OC class method of the OC class to be repaired.
For example, if the first OC class to be repaired corresponds to the dictionary 1, when the OC function 1 pointed by the new function pointer of the OC function 1 is executed, the dictionary 1 in the mablockaclosure may be indexed according to the object pointer of the OC function 1, and since the JS function 1, the JS function 2, the JS function 3, and the JS function 4 may be stored in the dictionary 1 corresponding to the first OC class to be repaired and the JS function 5, the JS function 6, the JS function 7, and the JS function 8 may be stored in the dictionary 2 corresponding to the second OC class to be repaired, when the OC function 1 is the target OC function to be repaired, the JS function associated with the OC function 1 may be determined from the dictionary 1 through the steps 207 and 208. The hot fix JS function associated with OC function 1 may be a hot fix JS function of the same name as OC function 1.
According to the hot repair JS function, determining a target OC function corresponding to the target OC function to be repaired can be achieved through the following steps:
when the JS function is subjected to the hot repairing, a JS subfunction of the JS function is called; when the JS subfunction is executed, acquiring the function name of the executed JS subfunction by calling a second callback function; determining an OC function associated with the function name of the JS subfunction according to the obtained function name of the JS subfunction, and determining the OC function associated with the function name of the JS subfunction as a target OC function.
For example, if the JS function for thermal recovery associated with the OC function 1 is the JS function 1, when the JS function for thermal recovery (that is, the JS function 1) is executed, the subfunction of the JS function 1 is called, if the subfunction of the JS function 1 is named as the JS subfunction 1 and the JS subfunction 2, the OC function associated with the JS subfunction 1 may be determined according to the JS subfunction 1, the OC function associated with the JS subfunction 1 may be an OC function having the same name as the JS subfunction 1, and the OC function associated with the JS subfunction 2 may be an OC function having the same name as the JS subfunction 2. The number of JS subfunctions is not limited in the embodiment of the present invention, and only JS subfunctions 1 and 2 are taken as examples for introduction herein.
And step 209, executing the target OC function for processing.
Before executing the target OC function for processing, the method can further comprise the following steps:
acquiring parameters of a parameter list of a target OC function to be repaired and parameter types of the parameters by calling a first callback function; encapsulating the parameters and the parameter types into first data of a custom type; and transmitting the first data to the JS end so that the JS end executes the hot repair JS function according to the first data.
For example, the parameters of the parameter list of the OC function 1 and the parameter types of the parameters are obtained through the first callback function, and the parameters of the parameter list of the OC function 1 and the parameter types of the parameters are encapsulated into the first data of the custom type. The self-defined type may be a PHOVlaue type, that is, parameters of the parameter list of the OC function 1 and parameter types of the parameters are encapsulated into first data of the PHOVlaue type. The PHOOBJECT _ Definition is a custom JS class name, the object of the PHOOBJECT _ Definition binds the data of the PHOVALUE type, and if the first data (the data of the PHOVALUE type) is to be transmitted to the JS end, the first data needs to be set as the private data (private data) of the PHOOBJECT _ Definition and then transmitted to the JS end.
The process of encapsulating the parameters of the parameter list of the OC function 1 and the parameter types of the parameters into the PHOVlaue type is as follows: opening up a space required by the parameter type according to the parameter type of the parameter of the OC function 1; recording the parameter type of the parameters of the OC function 1; the content pointed to by the parameter pointer of the parameter list of OC function 1 is copied into the opened space.
The execution of the target OC function can be realized by the following steps:
when the JS subfunction is executed, acquiring the parameter of the executed JS subfunction and the parameter type of the parameter of the JS subfunction by calling a second callback function; packaging the parameters of the JS subfunction and the parameter type of the parameters of the JS subfunction into second data of a user-defined type; and transmitting the second data to the OC terminal so that the OC terminal executes the target OC function according to the second data for processing.
For example, if the parameters of the JS subfunction 1 are a and b, after the parameters a and b and the parameter types of a and b are encapsulated into second data of a custom type (PHOValue type), the second data is private data of PHOObject _ definition, the second data is transmitted to the OC terminal, the OC function is executed by converting the PHOValue type data, converting the second data of the phooblaue type into data of a type consistent with the parameter type of the JS subfunction, and then executing the target OC function according to the converted data of the type consistent with the parameter type of the JS subfunction 1, so that the OC function 1 is thermally repaired. It should be noted that, for example, if the OC function (target OC function) associated with JS subfunction 1 is executed, the obtained return value is processed into the data of pholobject _ definition, and the processed return value is passed to the JS end, so that the next JS subfunction is executed. For example, JS subfunction 1 is: the variable c is a + b, and the JS subfunction 2 is: and c +2, after the JS subfunction 1 is executed, returning a result c to the JS end, and if the JS subfunction 2 is not returned, failing to execute.
When other OC functions to be repaired are executed, the thermal repairing method for the other OC functions to be repaired is the same as the method for the OC function 1 as the target OC function to be repaired, and details are not repeated here.
The embodiment of the invention adopts a technical scheme different from JPatch, and the whole process does not relate to a message forwarding mechanism, so that the efficient hot repair of the APP version is realized.
Fig. 3 is a schematic structural diagram of a thermal repair device according to an embodiment of the present invention. The thermal remediation device is typically implemented in hardware and/or software. The thermal restoration device 300 includes the following modules: an acquisition module 310, a determination module 320, a generation module 330, a replacement module 340, and an execution module 350.
The obtaining module 310 is configured to obtain a hot fix JS script corresponding to the application program; the determining module 320 is configured to determine, through the hot repair JS script, a function signature of at least one OC function to be repaired; the generating module 330 is configured to generate a new function pointer of each of the at least one OC function to be repaired according to the function signature of the at least one OC function to be repaired; the replacing module 340 is configured to replace an original function pointer of at least one OC function to be repaired with a new function pointer of the at least one OC function to be repaired; the executing module 350 is configured to execute a new function pointer of the target OC function to be repaired to call the first callback function if the target OC function to be repaired in the at least one OC function to be repaired is executed; the determining module 320 is further configured to determine a target OC function corresponding to the target OC function to be repaired by calling the first callback function, and execute the target OC function for processing.
The hot repair device provided by the embodiment obtains the JS script corresponding to the application program for hot repair; determining a function signature of at least one OC function to be repaired through the hot repair JS script; generating a new function pointer of each OC function to be repaired according to the function signature of the OC function to be repaired; replacing the original function pointer of at least one OC function to be repaired with the new function pointer of at least one OC function to be repaired; if a target OC function to be repaired in the OC function to be repaired is executed, executing a new function pointer of the target OC function to be repaired to call a first callback function; and determining a target OC function corresponding to the target OC function to be repaired by calling the first callback function, and executing the target OC function for processing. The embodiment of the invention adopts a technical scheme different from JPatch, and does not relate to a message forwarding mechanism, so that the efficient hot repair of the APP version is realized.
Optionally, the determining module 320 is specifically configured to obtain, through the hot repair JS script, at least one OC class name to be repaired in the application program, a first JS function list corresponding to the to-be-repaired instance method of the at least one OC class to be repaired, and a second JS function list corresponding to the to-be-repaired OC class method of the at least one OC class to be repaired;
determining a function signature of the OC function to be repaired corresponding to each first JS function name according to the at least one OC class name to be repaired and each first JS function name in the first JS function list corresponding to the instance method to be repaired of the at least one OC class to be repaired; and the number of the first and second groups,
and determining a function signature of the OC function to be repaired corresponding to each second JS function name according to the at least one OC class name to be repaired and each second JS function name in the second JS function list corresponding to the method of the OC class to be repaired.
Optionally, the method further includes:
the storage module is configured to, after obtaining, through the hot repair JS script, at least one OC class name to be repaired in the application program, a first JS function list corresponding to the to-be-repaired instance method of the at least one OC class to be repaired, and a second JS function list corresponding to the to-be-repaired instance method of the at least one OC class to be repaired, store each first JS function in the first JS function list corresponding to the to-be-repaired instance method of the at least one OC class to be repaired, and each second JS function in the second JS function list corresponding to the to-be-repaired instance method of the at least one OC class to be repaired in a dictionary corresponding to the at least one OC class to be repaired.
Optionally, the generating module 330 is specifically configured to generate a new function pointer of the to-be-repaired OC function corresponding to each first JS function name according to the function signature of the to-be-repaired OC function corresponding to each first JS function name; and the number of the first and second groups,
and generating a new function pointer of the to-be-repaired OC function corresponding to each second JS function name according to the function signature of the to-be-repaired OC function corresponding to each second JS function name.
Optionally, the generating module 330 is specifically configured to obtain, according to the function signature of the to-be-repaired OC function corresponding to each first JS function name, a return value type, a parameter type, and a parameter number of the to-be-repaired OC function corresponding to each first JS function name; generating a new function pointer of the OC function to be repaired, which corresponds to each first JS function name, according to the return value type, the parameter type and the parameter number of the OC function to be repaired, which correspond to each first JS function name; and the number of the first and second groups,
according to the function signature of the to-be-repaired OC function corresponding to each second JS function name, the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each second JS function name are obtained; and generating a new function pointer of the to-be-repaired OC function corresponding to each second JS function name according to the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each second JS function name.
Optionally, the determining module 320 is specifically configured to obtain an object pointer of the target OC function to be repaired by calling the first callback function; determining a target OC class to be repaired to which the target OC function to be repaired belongs from at least one OC class to be repaired according to the object pointer; and determining a target OC function corresponding to the target OC function to be repaired according to the target OC class to be repaired.
Optionally, the determining module 320 is specifically configured to determine, according to the target OC class to be repaired, a thermal repair JS function associated with the target OC function to be repaired from a first JS function list corresponding to the to-be-repaired instance method of the target OC class to be repaired and a second JS function list corresponding to the target to-be-repaired OC class method of the target OC class to be repaired; and determining a target OC function corresponding to the target OC function to be repaired according to the hot repairing JS function.
Optionally, the determining module 320 is specifically configured to, when the JS function is subjected to the hot repair, call a JS subfunction of the JS function; when the JS subfunction is executed, acquiring the function name of the executed JS subfunction by calling a second callback function; determining an OC function associated with the function name of the JS subfunction according to the obtained function name of the JS subfunction, and determining the OC function associated with the function name of the JS subfunction as a target OC function.
Optionally, the obtaining module 310 is further configured to, before the target OC function is executed for processing, obtain a parameter of a parameter list of the target OC function to be repaired and a parameter type of the parameter by calling the first callback function; encapsulating the parameters and the parameter types into first data of a custom type; and transmitting the first data to the JS end so that the JS end executes the hot repairing JS function according to the first data.
Optionally, the determining module 320 is specifically configured to, when the JS subfunction is executed, obtain the parameter of the executing JS subfunction and the parameter type of the parameter of the JS subfunction by calling the second callback function; packaging the parameters of the JS subfunction and the parameter type of the parameters of the JS subfunction into second data of the custom type; and transmitting the second data to an OC terminal so that the OC terminal executes the target OC function according to the second data for processing.
Optionally, the obtaining module 310 is further configured to obtain a return value address of the target OC function to be repaired by calling the first callback function; and after the target OC function to be repaired is executed, assigning a return value obtained by executing the target OC function to be repaired to the return value address.
Optionally, the obtaining module 310 is specifically configured to send a request message to a server, where the request message includes the version number of the application program; and receiving the hot repair JS script corresponding to the version number of the application program, which is issued by the server according to the request message and the locally stored configuration file.
In addition, an embodiment of the present invention further provides a thermal repair device, as shown in fig. 4, fig. 4 is a schematic structural diagram of another thermal repair device provided in the embodiment of the present invention. The thermal repair apparatus 400 includes a processor 410, a memory 420, and a computer program stored in the memory 420 and capable of running on the processor 410, where the computer program, when executed by the processor 410, implements the processes of the thermal repair method embodiments of the embodiments described above, and can achieve the same technical effects, and in order to avoid repetition, details are not described here.
The embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the computer program implements each process of the thermal recovery method embodiment, and can achieve the same technical effect, and in order to avoid repetition, details are not repeated here. The computer-readable storage medium may be a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk.
The embodiment of the invention also provides a computer program, and the computer program can be stored on a cloud or a local storage medium. When being executed by a computer or a processor, the computer program is used for executing the corresponding steps of the thermal restoration method according to the embodiment of the invention and realizing the corresponding modules in the thermal restoration device according to the embodiment of the invention.
Those of ordinary skill in the art will understand that: all or a portion of the steps of implementing the above-described method embodiments may be performed by hardware associated with program instructions. The program may be stored in a computer-readable storage medium.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (26)

1. A method of thermal remediation, comprising:
acquiring a hot repair JS script corresponding to the application program;
determining a function signature of at least one OC function to be repaired through the hot repair JS script;
generating a new function pointer of each OC function to be repaired according to the function signature of the OC function to be repaired;
replacing the original function pointer of the OC function to be repaired with the new function pointer of the OC function to be repaired;
if a target OC function to be repaired in the at least one OC function to be repaired is executed, executing a new function pointer of the target OC function to be repaired to call a first callback function;
determining a target OC function corresponding to the target OC function to be repaired by calling the first callback function, and executing the target OC function for processing; the new function pointer is generated according to the return value type, the parameter type and the parameter number corresponding to the function signature, and the first callback function is used for obtaining an object pointer of the target OC function to be repaired so as to determine the target OC function corresponding to the target OC function to be repaired.
2. The method of claim 1, wherein said determining, by the hot fix JS script, a function signature of at least one OC function to be fixed comprises:
through the hot repair JS script, obtaining at least one OC class name to be repaired in the application program, a first JS function list corresponding to the to-be-repaired instance method of at least one OC class to be repaired, and a second JS function list corresponding to the to-be-repaired OC class method of at least one OC class to be repaired;
determining a function signature of the OC function to be repaired corresponding to each first JS function name according to the at least one OC class name to be repaired and each first JS function name in a first JS function list corresponding to the instance method to be repaired of the at least one OC class to be repaired; and the number of the first and second groups,
and determining a function signature of the to-be-repaired OC function corresponding to each second JS function name according to each second JS function name in a second JS function list corresponding to the to-be-repaired OC class name of the at least one to-be-repaired OC class.
3. The method according to claim 2, wherein after obtaining, by the hot repair JS script, the at least one OC class name to be repaired in the application program, the first JS function list corresponding to the to-be-repaired instance method of the at least one OC class to be repaired, and the second JS function list corresponding to the to-be-repaired instance method of the at least one OC class to be repaired, the method further comprises:
and storing each first JS function in a first JS function list corresponding to the respective to-be-repaired instance method of the at least one to-be-repaired OC class and each second JS function in a second JS function list corresponding to the respective to-be-repaired OC class method of the at least one to-be-repaired OC class in a dictionary corresponding to the respective at least one to-be-repaired OC class.
4. The method according to claim 2 or 3, wherein said generating a new function pointer for each of the at least one OC function to be repaired according to the function signature of the at least one OC function to be repaired comprises:
generating a new function pointer of the to-be-repaired OC function corresponding to each first JS function name according to the function signature of the to-be-repaired OC function corresponding to each first JS function name; and the number of the first and second groups,
and generating a new function pointer of the to-be-repaired OC function corresponding to each second JS function name according to the function signature of the to-be-repaired OC function corresponding to each second JS function name.
5. The method according to claim 4, wherein generating a new function pointer of the OC function to be repaired corresponding to each of the first JS function names according to the function signature of the OC function to be repaired corresponding to each of the first JS function names comprises:
according to the function signature of the OC function to be repaired corresponding to each first JS function name, the return value type, the parameter type and the parameter number of the OC function to be repaired corresponding to each first JS function name are obtained; generating a new function pointer of the to-be-repaired OC function corresponding to each first JS function name according to the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each first JS function name; and the number of the first and second groups,
according to every the function signature of the OC function that waits to be restoreed that second JS function name corresponds separately generates with every the new function pointer of the OC function that waits to be restoreed that second JS function name corresponds separately includes:
according to the function signature of the to-be-repaired OC function corresponding to each second JS function name, obtaining the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each second JS function name; and generating a new function pointer of the to-be-repaired OC function corresponding to each second JS function name according to the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each second JS function name.
6. The method according to claim 5, wherein said determining a target OC function corresponding to the target OC function to be repaired by calling the first callback function comprises:
acquiring an object pointer of the target OC function to be repaired by calling the first callback function;
determining a target OC class to be repaired to which the target OC function to be repaired belongs from the at least one OC class to be repaired according to the object pointer;
and determining the target OC function corresponding to the target OC function to be repaired according to the target OC class to be repaired.
7. The method according to claim 6, wherein the determining, according to the target OC class to be repaired, the target OC function corresponding to the target OC function to be repaired includes:
according to the target OC class to be repaired, determining a hot repair JS function associated with the target OC function to be repaired from a first JS function list corresponding to the example method to be repaired of the target OC class to be repaired and a second JS function list corresponding to the OC class method to be repaired of the target OC class to be repaired;
and determining the target OC function corresponding to the target OC function to be repaired according to the hot repairing JS function.
8. The method according to claim 7, wherein said determining the target OC function corresponding to the target OC function to be repaired according to the hot fix JS function comprises:
when the JS function is subjected to the hot repairing, a JS subfunction of the JS function is called;
when the JS subfunction is executed, acquiring the function name of the executed JS subfunction by calling a second callback function;
determining an OC function associated with the function name of the JS sub-function according to the acquired function name of the JS sub-function, and determining the OC function associated with the function name of the JS sub-function as the target OC function.
9. The method of claim 8, further comprising, prior to said executing said target OC function for processing:
acquiring parameters of a parameter list of the target OC function to be repaired and parameter types of the parameters by calling the first callback function;
encapsulating the parameters and the parameter types into first data of a custom type;
and transmitting the first data to the JS end so that the JS end executes the hot repairing JS function according to the first data.
10. The method of claim 9, wherein said executing said target OC function performs a process comprising:
when the JS subfunction is executed, acquiring the parameter of the executed JS subfunction and the parameter type of the parameter of the JS subfunction by calling the second callback function;
packaging the parameters of the JS subfunction and the parameter type of the parameters of the JS subfunction into second data of the custom type;
and transmitting the second data to an OC terminal so that the OC terminal executes the target OC function according to the second data for processing.
11. The method of claim 10, further comprising:
acquiring a return value address of the target OC function to be repaired by calling the first callback function;
and after the target OC function to be repaired is executed, assigning a return value obtained by executing the target OC function to be repaired to the return value address.
12. The method according to any one of claims 1-3, wherein obtaining the hot fix JS script corresponding to an application comprises:
sending a request message to a server, wherein the request message contains the version number of the application program;
and receiving the hot repair JS script corresponding to the version number of the application program, which is issued by the server according to the request message and the locally stored configuration file.
13. A thermal remediation device, comprising:
the acquisition module is used for acquiring the hot repair JS script corresponding to the application program;
the determining module is used for determining a function signature of at least one OC function to be repaired through the hot repairing JS script;
a generating module, configured to generate a new function pointer of each of the at least one OC function to be repaired according to the function signature of the at least one OC function to be repaired;
a replacement module, configured to replace an original function pointer of the at least one OC function to be repaired with a new function pointer of the at least one OC function to be repaired;
the execution module is configured to execute a new function pointer of the target OC function to be repaired to call the first callback function if the target OC function to be repaired in the at least one OC function to be repaired is executed;
the determining module is further configured to determine a target OC function corresponding to the target OC function to be repaired by calling the first callback function, and execute the target OC function for processing; the new function pointer is generated according to the return value type, the parameter type and the parameter number corresponding to the function signature, and the first callback function is used for obtaining an object pointer of the target OC function to be repaired so as to determine the target OC function corresponding to the target OC function to be repaired.
14. The apparatus according to claim 13, wherein the determining module is specifically configured to obtain, through the JS script for hot repair, at least one OC class name to be repaired in the application program, a first JS function list corresponding to an example method to be repaired of the at least one OC class to be repaired, and a second JS function list corresponding to an OC class method to be repaired of the at least one OC class to be repaired;
determining a function signature of the OC function to be repaired corresponding to each first JS function name according to the at least one OC class name to be repaired and each first JS function name in a first JS function list corresponding to the instance method to be repaired of the at least one OC class to be repaired; and the number of the first and second groups,
and determining a function signature of the to-be-repaired OC function corresponding to each second JS function name according to each second JS function name in a second JS function list corresponding to the to-be-repaired OC class name of the at least one to-be-repaired OC class.
15. The apparatus of claim 14, further comprising:
the saving module is used for obtaining a first JS function list corresponding to at least one OC class name to be repaired, at least one OC class to be repaired and a second JS function list corresponding to at least one OC class to be repaired after the first JS function list corresponding to the OC class method to be repaired in the application program, and saving each second JS function in the first JS function list corresponding to the respective OC class to be repaired of at least one OC class to be repaired and each second JS function in the second JS function list corresponding to the respective OC class to be repaired in a dictionary corresponding to the respective OC class to be repaired.
16. The apparatus according to claim 14 or 15, wherein the generating module is specifically configured to generate a new function pointer of the to-be-repaired OC function corresponding to each of the first JS function names according to the function signature of the to-be-repaired OC function corresponding to each of the first JS function names; and the number of the first and second groups,
and generating a new function pointer of the to-be-repaired OC function corresponding to each second JS function name according to the function signature of the to-be-repaired OC function corresponding to each second JS function name.
17. The apparatus according to claim 16, wherein the generating module is specifically configured to obtain, according to a function signature of the to-be-repaired OC function corresponding to each first JS function name, a return value type, a parameter type, and a parameter number of the to-be-repaired OC function corresponding to each first JS function name; generating a new function pointer of the to-be-repaired OC function corresponding to each first JS function name according to the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each first JS function name; and the number of the first and second groups,
according to the function signature of the to-be-repaired OC function corresponding to each second JS function name, obtaining the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each second JS function name; and generating a new function pointer of the to-be-repaired OC function corresponding to each second JS function name according to the return value type, the parameter type and the parameter number of the to-be-repaired OC function corresponding to each second JS function name.
18. The apparatus according to claim 17, wherein the determining module is specifically configured to obtain an object pointer of the target OC function to be repaired by calling the first callback function; determining a target OC class to be repaired to which the target OC function to be repaired belongs from the at least one OC class to be repaired according to the object pointer; and determining the target OC function corresponding to the target OC function to be repaired according to the target OC class to be repaired.
19. The apparatus according to claim 18, wherein the determining module is specifically configured to determine, according to the target OC class to be repaired, a hot repair JS function associated with the target OC function to be repaired from a first JS function list corresponding to the example method to be repaired of the target OC class to be repaired and a second JS function list corresponding to the target OC class method to be repaired of the target OC class to be repaired; and determining the target OC function corresponding to the target OC function to be repaired according to the hot repairing JS function.
20. The apparatus according to claim 19, wherein the determining module is specifically configured to, when the JS function is being thermally repaired, invoke a JS subfunction of the JS function; when the JS subfunction is executed, acquiring the function name of the executed JS subfunction by calling a second callback function; determining an OC function associated with the function name of the JS sub-function according to the acquired function name of the JS sub-function, and determining the OC function associated with the function name of the JS sub-function as the target OC function.
21. The apparatus according to claim 20, wherein the obtaining module is further configured to obtain, before the executing the target OC function performs processing, a parameter of a parameter list of the target OC function to be repaired and a parameter type of the parameter by calling the first callback function; encapsulating the parameters and the parameter types into first data of a custom type; and transmitting the first data to the JS end so that the JS end executes the hot repairing JS function according to the first data.
22. The apparatus according to claim 21, wherein the determining module is specifically configured to, when the JS subfunction executes, obtain the parameter of the JS subfunction that is executing and the parameter type of the parameter of the JS subfunction by calling the second callback function; packaging the parameters of the JS subfunction and the parameter type of the parameters of the JS subfunction into second data of the custom type; and transmitting the second data to an OC terminal so that the OC terminal executes the target OC function according to the second data for processing.
23. The apparatus according to claim 22, wherein the obtaining module is further configured to obtain a return value address of the target OC function to be repaired by calling the first callback function; and after the target OC function to be repaired is executed, assigning a return value obtained by executing the target OC function to be repaired to the return value address.
24. The apparatus according to any one of claims 13 to 15, wherein the obtaining module is specifically configured to send a request message to a server, where the request message includes a version number of the application; and receiving the hot repair JS script corresponding to the version number of the application program, which is issued by the server according to the request message and the locally stored configuration file.
25. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the thermal remediation method of any one of claims 1 to 12.
26. A thermal remediation device comprising a processor, a memory and a computer program stored on the memory and executable on the processor, the computer program when executed by the processor implementing the steps of the thermal remediation method of any one of claims 1 to 12.
CN201910620523.9A 2019-07-10 2019-07-10 Thermal restoration method and device and readable storage medium Active CN110457151B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910620523.9A CN110457151B (en) 2019-07-10 2019-07-10 Thermal restoration method and device and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910620523.9A CN110457151B (en) 2019-07-10 2019-07-10 Thermal restoration method and device and readable storage medium

Publications (2)

Publication Number Publication Date
CN110457151A CN110457151A (en) 2019-11-15
CN110457151B true CN110457151B (en) 2022-01-28

Family

ID=68482473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910620523.9A Active CN110457151B (en) 2019-07-10 2019-07-10 Thermal restoration method and device and readable storage medium

Country Status (1)

Country Link
CN (1) CN110457151B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656207B (en) * 2021-08-16 2023-11-03 北京百度网讯科技有限公司 Fault processing method, device, electronic equipment and medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101553769A (en) * 2005-10-11 2009-10-07 努雅公司 Method and system for tracking and monitoring computer applications
CN105589701A (en) * 2014-10-21 2016-05-18 阿里巴巴集团控股有限公司 Client application partial updating method and apparatus
CN106547580A (en) * 2015-09-22 2017-03-29 腾讯科技(深圳)有限公司 The method and apparatus of hooking function
CN107391171A (en) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 The method and user terminal of a kind of multiple problem of solution iOS hot repairs
CN109101254A (en) * 2018-07-20 2018-12-28 江苏满运软件科技有限公司 A kind of hot restorative procedure and equipment
CN109144601A (en) * 2018-06-22 2019-01-04 北京奇艺世纪科技有限公司 In IOS using the interior method and system for calling function
CN109271187A (en) * 2018-09-17 2019-01-25 五八有限公司 A kind of hot restorative procedure, device, storage medium and the terminal of application program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008092162A2 (en) * 2007-01-26 2008-07-31 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for recovering an application from a fault or attack
WO2014022980A1 (en) * 2012-08-08 2014-02-13 Intel Corporation Isa bridging including support for call to overidding virtual functions
CN105988798B (en) * 2015-02-12 2020-07-31 南京中兴软件有限责任公司 Patch processing method and device
CN108415840A (en) * 2018-03-14 2018-08-17 百度在线网络技术(北京)有限公司 The method, apparatus and server of repair function defect

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101553769A (en) * 2005-10-11 2009-10-07 努雅公司 Method and system for tracking and monitoring computer applications
CN105589701A (en) * 2014-10-21 2016-05-18 阿里巴巴集团控股有限公司 Client application partial updating method and apparatus
CN106547580A (en) * 2015-09-22 2017-03-29 腾讯科技(深圳)有限公司 The method and apparatus of hooking function
CN107391171A (en) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 The method and user terminal of a kind of multiple problem of solution iOS hot repairs
CN109144601A (en) * 2018-06-22 2019-01-04 北京奇艺世纪科技有限公司 In IOS using the interior method and system for calling function
CN109101254A (en) * 2018-07-20 2018-12-28 江苏满运软件科技有限公司 A kind of hot restorative procedure and equipment
CN109271187A (en) * 2018-09-17 2019-01-25 五八有限公司 A kind of hot restorative procedure, device, storage medium and the terminal of application program

Also Published As

Publication number Publication date
CN110457151A (en) 2019-11-15

Similar Documents

Publication Publication Date Title
CN106970873B (en) On-line mock testing method, device and system
CN112765023B (en) Test case generation method and device
CN110647471B (en) Interface test case generation method, electronic device and storage medium
CN109933350B (en) Method and device for embedding codes in application and electronic equipment
CN110990008B (en) Page updating method and device, storage medium and electronic equipment
CN111596920B (en) File compiling method, device, compiling equipment and storage medium
CN108595178B (en) Hook-based data acquisition method, device and equipment
CN110457151B (en) Thermal restoration method and device and readable storage medium
CN113342447B (en) Page generation method, device, equipment and storage medium based on Flutter
CN116755788A (en) On-line rule modification method, device, equipment and storage medium
CN111552464A (en) SDK generation method, device, equipment and medium
CN104252413A (en) Automatic script generation method, device and system
CN110795162A (en) Method and device for generating container mirror image file
CN110750310A (en) Binary and source code switching method based on IOS system componentization development
CN113534682B (en) Method and apparatus for managing logic blocks in an industrial controller
CN112801302A (en) Machine learning model publishing method and system based on interface
CN109508193B (en) Application deployment and operation method, device, terminal equipment and medium
CN114115884A (en) Management method and related device for programming service
US10474443B2 (en) Code lineage tool
US20180373512A1 (en) Method and device for simulating synchronous blocking in asynchronous environment, storage medium, server and terminal
CN110286936B (en) Thermal restoration method, thermal restoration device, electronic equipment and storage medium
CN107943539B (en) Application page starting method and application page starting device
CN106161050B (en) Problem resource indicating device and problem resource indicating method
CN113708971A (en) Openstack cloud platform deployment method and related device
CN114764335A (en) Method, device, terminal and storage medium for generating mirror image

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant