CN107632934B - Function copying method and device in C-sharp - Google Patents

Function copying method and device in C-sharp Download PDF

Info

Publication number
CN107632934B
CN107632934B CN201710841734.6A CN201710841734A CN107632934B CN 107632934 B CN107632934 B CN 107632934B CN 201710841734 A CN201710841734 A CN 201710841734A CN 107632934 B CN107632934 B CN 107632934B
Authority
CN
China
Prior art keywords
function
program set
metadata
program
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.)
Active
Application number
CN201710841734.6A
Other languages
Chinese (zh)
Other versions
CN107632934A (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710841734.6A priority Critical patent/CN107632934B/en
Publication of CN107632934A publication Critical patent/CN107632934A/en
Application granted granted Critical
Publication of CN107632934B publication Critical patent/CN107632934B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention provides a method and a device for copying functions in C-sharp, wherein the method comprises the following steps: s1, acquiring a program set of the C-sharp program, and acquiring metadata of the target function according to the program set if the program set is the program set in which the target function is located; s2, using the metadata of the objective function to create a copy function; s3, obtaining the function body of the target function, and setting the function body into the created copy function. On one hand, the method realizes that the copied target function does not influence the original code of the target function when being called by other codes; on the other hand, the copy function in this embodiment may be called directly next time after the creation is completed.

Description

Function copying method and device in C-sharp
Technical Field
The invention relates to the field of software testing, in particular to a method and a device for copying functions in C-sharp.
Background
In the net framework, situations may be encountered that require the creation of a copy function at runtime, such as copying a target function for a probe program to call, without affecting other programs. The probe probes the website directory, the CPU usage, the server operating system and the component support, etc. according to the copied target program.
At present, the conventional method is to directly call the primitive function, but the method can be used only in partial cases. When the original function is directly called and is not changed, the conventional method can be used; when the original function needs to be changed, for example, when a variable in the original function is changed, the condition that the original function is used before is changed, the previous function of the original function is modified to have a fault, and the encapsulation performance of the original function is damaged.
Disclosure of Invention
In order to overcome the problem that the encapsulation performance of the original function is damaged or at least partially solved under the condition that the original function is changed when the original function is directly called, the invention provides a method and a device for copying a function in a C-sharp.
According to a first aspect of the present invention, there is provided a method for copying a function in a C-sharp, including:
s1, acquiring a program set of the C-sharp program, and acquiring metadata of the target function according to the program set if the program set is the program set in which the target function is located;
s2, using the metadata of the objective function to create a copy function;
s3, obtaining the function body of the target function, and setting the function body into the created copy function.
Specifically, the step S1 specifically includes:
creating a CLR Profiler instance, and loading the assembly set of the C-sharp program in the CLR Profiler instance;
when the ICorProfileCallback: ModulLoadStarted method is called back, the ICorProfileInfo: GetModuleInfo method is used for acquiring the name of the program set;
and if the name of the program set is the name of the program set in which the target function is located, acquiring the metadata of the target function according to the program set.
Specifically, the step of acquiring the metadata of the objective function in step S1 specifically includes:
obtaining an IMetaDataImport interface instance of the program set by using an ICorProfileInfo method, namely a GetModuleMetaData method;
and obtaining the metadata of the objective function by using an IMetaDataImport interface instance in the IMetaDataImport interface instance.
Specifically, the step S2 specifically includes:
in the callback of the ICorProfileCallback ModulLoadStarted method, the copy function is created by taking the metadata of the target function as a function statement of the copy function.
Specifically, the step S3 specifically includes:
when ICorprofileCallback is in the state of JITComplationsStarted method callback, the ICorprofileInfo method is used for acquiring a function body of the target function;
passing the created copy function into ICorpProfileCallback: JITComplationsStarted method;
and setting the function body of the target function into the copy function.
Specifically, the step of setting the function body of the objective function into the copy function specifically includes:
allocating a block of memory for the function body of the target function by using an ImethodMalloc interface;
copying a function body of the target function into the memory;
using icorprofilenfo: : and setting the function body in the memory into the copy function by the SetILFunctionBody method.
According to a second aspect of the present invention, there is provided a C-sharp function copying apparatus, including:
the device comprises an acquisition unit, a processing unit and a processing unit, wherein the acquisition unit is used for acquiring a program set of a C-sharp program, and if the program set is the program set of a target function, the metadata of the target function is acquired according to the program set;
a creating unit configured to create a copy function using the metadata of the objective function;
and the setting unit is used for acquiring a function body of the target function and setting the function body into the created copy function.
Specifically, the obtaining unit is specifically configured to:
creating a CLR Profiler instance, and loading the assembly set of the C-sharp program in the CLR Profiler instance;
when the ICorProfileCallback: ModulLoadStarted method is called back, the ICorProfileInfo: GetModuleInfo method is used for acquiring the name of the program set;
and if the name of the program set is the name of the program set in which the target function is located, acquiring the metadata of the target function according to the program set.
According to a third aspect of the present invention, there is provided a function copying apparatus in a C-sharp, including:
at least one processor, at least one memory, and a bus; wherein the content of the first and second substances,
the processor and the memory complete mutual communication through the bus;
the memory stores program instructions executable by the processor, which when called by the processor are capable of performing the method as previously described.
According to a fourth aspect of the invention, there is provided a non-transitory computer readable storage medium storing a computer program of the method as described above.
The invention provides a method and a device for copying a function in a C-sharp, wherein the method comprises the steps of obtaining metadata and a function body of a target function in a C-sharp program, using the metadata to create a copy function, and then placing the function body in the created copy function, thereby completing the copying of the target function; on the other hand, the copy function in this embodiment may be called directly next time after the creation is completed.
Drawings
Fig. 1 is a schematic overall flow chart of a function replication method in a C-sharp according to an embodiment of the present invention;
fig. 2 is a schematic diagram of an overall structure of a function copying apparatus in a C-sharp according to an embodiment of the present invention;
fig. 3 is a schematic diagram of an overall structure of a function copying device in a C-sharp according to an embodiment of the present invention.
Detailed Description
The following detailed description of embodiments of the present invention is provided in connection with the accompanying drawings and examples. The following examples are intended to illustrate the invention but are not intended to limit the scope of the invention.
In an embodiment of the present invention, a method for copying a function in a C-sharp is provided, and fig. 1 is a schematic overall flow chart of the method for copying a function in a C-sharp provided in the embodiment of the present invention, where the method includes: s1, acquiring a program set of the C-sharp program, and acquiring metadata of the target function according to the program set if the program set is the program set in which the target function is located; s2, using the metadata of the objective function to create a copy function; s3, obtaining the function body of the target function, and setting the function body into the created copy function.
Specifically, in S1, C-sharp, also called C #, is an object-oriented high-level programming language published by microsoft that runs on top of NET Framework. The C-sharp program is a program written using the C-sharp language. The assembly is one or more managed modules, and some logical combination of resource files is an intermediate product for further execution by CLR (Common Language Runtime), which is typically in the form of dll or exe in Windows systems. The objective function is a function to be copied. The metadata is also called intermediate data or relay data, and is data describing data, and is mainly used for describing attribute information of the data, such as storage location, history data, file records, and the like. And judging whether the program set is the program set of the target function. And if the judgment result is that the program set is the program set of the target function, acquiring the metadata of the target function according to the program set. In S2, the copy function is created using the metadata of the objective function, i.e., a function is defined using the metadata of the objective function, and the defined function is used as the copy function, wherein the metadata is equivalent to the declaration of the copy function. In S3, a function body of the objective function is obtained, where the function body is a specific implementation of the objective function, and the function body and the metadata together represent a complete implementation of the objective function. And setting the function body into the created copy function, thereby completing the copy of the target function. The method is completed on the basis of the CLR Profiler, the CLR Profiler is a bottom-layer tool of a net framework provided by Windows, and various APIs in the CLR Profiler can modify program codes during running and monitor the whole running state of a program.
In this embodiment, the metadata and the function body of the target function in the C-sharp program are obtained, and the function body is placed in the created copy function after the copy function is created by using the metadata, so as to complete the copy of the target function, on one hand, when the copy function is called, the copy function can be modified without affecting the original code of the target function, so that the encapsulation property of the original code is maintained; on the other hand, the copy function in this embodiment may be called directly next time after the creation is completed.
On the basis of the foregoing embodiment, step S1 in this embodiment specifically includes: creating a CLR Profiler instance, and loading the assembly set of the C-sharp program in the CLR Profiler instance; when the ICorProfileCallback: ModulLoadStarted method is called back, the ICorProfileInfo: GetModuleInfo method is used for acquiring the name of the program set; and if the name of the program set is the name of the program set in which the target function is located, acquiring the metadata of the target function according to the program set.
Specifically, a CLR Profiler instance is created, which includes therein unmanaged APIs provided by the net framework, such as Icor Profile Callback, ICor Profile Info, and the like. Loading the assembly of the C-sharp program in the CLR Profiler instance. When the ModuleLoadstarted method is called back in ICorProfileCallback, judging whether the program set is the program set of the target function. Among them, the icorprofilercalback interface provides a method for a Common Language Runtime (CLR) to notify a code analyzer when the code analyzer starts to operate. The modulelaadstarted method in the icorprofilecallback interface is used to notify the analyzer that a module is to be loaded. Specifically, whether the program set is the program set in which the target function is located is judged by a method of obtaining a program set module name. The name of the assembly is obtained using the icorprofilenfo:: GetModuleInfo method. The icorprofilenfo interface provides a method for communication between the code analyzer and the common language runtime to control the monitoring of events and request information. And when receiving the module number, the GetModuleInfo method in the ICorProfileInfo interface returns the file name of the module and the ID of the module parent node. And if the name of the program set is the name of the program set in which the target function is located, acquiring the metadata of the target function according to the program set.
On the basis of the foregoing embodiments, in this embodiment, the step of acquiring the metadata of the objective function in step S1 specifically includes: obtaining an IMetaDataImport interface instance of the program set by using an ICorProfileInfo method, namely a GetModuleMetaData method; and obtaining the metadata of the objective function by using an IMetaDataImport interface instance in the IMetaDataImport interface instance.
Specifically, an IMetaDataImport interface instance of the assembly is obtained using ICorProfileInfo:GetModuleMetaDatamethod. Icorprofilenfo the GetModuleMetaData method can be used to directly modify the set of programs currently loaded. The GetModuleMetaData method in the ICorProfileInfo interface is used for acquiring the metadata interface instance mapped to the specific module. In the IMetaDataImport interface instance, an IMetaDataImport method is used for acquiring metadata of the target function, wherein the metadata comprises a function signature of the target function and the like. The IMetaDataImport interface provides a way to import and manipulate existing metadata from a migratable executable or elsewhere, such as a type library or a separate runtime metadata binary. The GetMethodProps method in the IMetaDataImport interface obtains metadata associated with the method referenced by the specified function tag.
On the basis of the foregoing embodiments, in this embodiment, the step S2 specifically includes: in the callback of the ICorProfileCallback ModulLoadStarted method, the copy function is created by taking the metadata of the target function as a function statement of the copy function.
On the basis of the foregoing embodiments, in this embodiment, the step S3 specifically includes: when ICorprofileCallback is in the state of JITComplationsStarted method callback, the ICorprofileInfo method is used for acquiring a function body of the target function; passing the created copy function into ICorpProfileCallback: JITComplationsStarted method; and setting the function body of the target function into the copy function.
Specifically, when ICorProfileCallback:: JITComplationsStarted method is called back, the function body of the objective function is obtained through the ICorProfileInfo. Among other things, the JIT unified formatted method in the icorprofilecallback interface is used to inform the parser JIT (just-in-time) compiler to start compiling functions. The getfunctional info method in the icorprofilenfo interface is used to obtain the parent class and metadata of the specified function. Specifically, the function body of the target function can be obtained by directly using an ICorProfileInfo-GetFunctionInfo method. And transferring the created copy function into an ICorprofileCallback:: JITComplationsStarted method, and setting the function body of the target function into the copy function when the ICorprofileCallback:: JITComplationsStarted method is called back. The entire process of creating the copy function is complete.
On the basis of the foregoing embodiment, in this embodiment, the step of setting the function body of the objective function into the copy function specifically includes: allocating a block of memory for the function body of the target function by using an ImethodMalloc interface; copying a function body of the target function into the memory; using icorprofilenfo: : and setting the function body in the memory into the copy function by the SetILFunctionBody method.
Specifically, an ImethodMalloc interface is used to allocate a block of memory to the function body of the objective function, and the size of the memory is the size of the function body. The ImethodMalloc interface provides a method to allocate memory for the new MSIL (Microsoft Intermediate Language) function body. Copying the function body of the target function into the memory, and using ICorProfileInfo: : and the SetILFunctionBody method sets the function body in the memory into the created copy function. The SetILFunctionBody method in the ICorProfileInfo interface is used for replacing the function body of the specified function in the specified module.
In another embodiment of the present invention, a device for copying a function in a C-sharp is provided, and fig. 2 is a schematic diagram of an overall structure of the device for copying a function in a C-sharp provided in an embodiment of the present invention, where the device includes an obtaining unit 1, a creating unit 2, and a setting unit 3, where:
the obtaining unit 1 is configured to obtain a program set of a C-sharp program, and if the program set is a program set in which a target function is located, obtain metadata of the target function according to the program set; the creating unit 2 is configured to create a copy function using the metadata of the objective function; the setting unit 3 is configured to obtain a function body of the target function, and set the function body into the created copy function.
Specifically, C-sharp, also known as C #, is an object-oriented, high-level programming language published by Microsoft corporation that runs on top of the NET Framework. The C-sharp program is a program written using the C-sharp language. The assembly is one or more managed modules, and some logical combination of resource files is an intermediate product for further execution by CLR (Common Language Runtime), which is typically in the form of dll or exe in Windows systems. The objective function is a function to be copied. The metadata is also called intermediate data or relay data, and is data describing data, and is mainly used for describing attribute information of the data, such as storage location, history data, file records, and the like. The obtaining unit 1 determines whether the program set is a program set in which the target function is located. And if the judgment result is that the program set is the program set of the target function, acquiring the metadata of the target function according to the program set. The creating unit 2 creates the copy function using the metadata of the objective function, i.e., defines a function using the metadata of the objective function, and takes the defined function as the copy function, wherein the metadata is equivalent to the declaration of the copy function. The setting unit 3 obtains a function body of the objective function, the function body is a specific implementation of the objective function, and the function body and the metadata together represent a complete implementation of the objective function. And setting the function body into the created copy function, thereby completing the copy of the target function. The method is completed on the basis of the CLR Profiler, the CLR Profiler is a bottom-layer tool of a net framework provided by Windows, and various APIs in the CLR Profiler can modify program codes during running and monitor the whole running state of a program.
In this embodiment, the metadata and the function body of the target function in the C-sharp program are obtained, and the function body is placed in the created copy function after the copy function is created by using the metadata, so as to complete the copy of the target function, on one hand, when the copy function is called, the copy function can be modified without affecting the original code of the target function, so that the encapsulation property of the original code is maintained; on the other hand, the copy function in this embodiment may be called directly next time after the creation is completed.
On the basis of the foregoing embodiment, in this embodiment, the obtaining unit is specifically configured to: creating a CLR Profiler instance and loading a program set of the C-sharp program; when the ICorProfileCallback: ModulLoadStarted method is called back, the ICorProfileInfo: GetModuleInfo method is used for acquiring the name of the program set; and if the name of the program set is the name of the program set in which the target function is located, acquiring the metadata of the target function according to the program set.
Specifically, the obtaining unit creates a CLR Profiler instance, wherein the CLR Profiler includes unmanaged APIs provided by a net framework, such as Icor Profile Callback, ICor Profile Info and the like. And the acquiring unit loads a program set of the C-sharp program. When the ModuleLoadstarted method is called back in ICorProfileCallback, judging whether the program set is the program set of the target function. Specifically, the obtaining unit determines whether the program set is the program set in which the target function is located by a method of obtaining a program set module name. The name of the assembly is obtained using the icorprofilenfo:: GetModuleInfo method. And if the name of the program set is the name of the program set in which the target function is located, acquiring the metadata of the target function according to the program set.
On the basis of the foregoing embodiments, in this embodiment, the obtaining unit is further specifically configured to: obtaining an IMetaDataImport method example of the program set by using an ICorProfileInfo, namely a GetModuleMetaData method; the metadata of the objective function is obtained using an IMetaDataImport method in the IMetaDataImport method instance.
On the basis of the foregoing embodiments, in this embodiment, the creating unit is specifically configured to: in the callback of the ICorProfileCallback ModulLoadStarted method, the copy function is created by taking the metadata of the target function as a function statement of the copy function.
On the basis of the foregoing embodiments, in this embodiment, the setting unit is specifically configured to: when ICorprofileCallback is in the state of JITComplationsStarted method callback, the ICorprofileInfo method is used for acquiring a function body of the target function; passing the created copy function into ICorpProfileCallback: JITComplationsStarted method; and setting the function body of the target function into the copy function.
On the basis of the foregoing embodiment, the setting unit in this embodiment is further specifically configured to: allocating a block of memory for the function body of the target function by using an ImethodMalloc interface; copying a function body of the target function into the memory; using icorprofilenfo: : and setting the function body in the memory into the copy function by the SetILFunctionBody method.
This embodiment provides a device for copying functions in a C-sharp, and fig. 3 is a schematic diagram of an overall structure of the device for copying functions in a C-sharp provided by the embodiment of the present invention, where the device includes: at least one processor 31, at least one memory 32, and a bus 33; wherein the content of the first and second substances,
the processor 31 and the memory 32 complete mutual communication through the bus 33;
the memory 32 stores program instructions executable by the processor 31, and the processor calls the program instructions to execute the methods provided by the method embodiments, for example, the method includes: s1, acquiring a program set of the C-sharp program, and acquiring metadata of the target function according to the program set if the program set is the program set in which the target function is located; s2, using the metadata of the objective function to create a copy function; s3, obtaining the function body of the target function, and setting the function body into the created copy function.
The present embodiments provide a non-transitory computer-readable storage medium storing computer instructions that cause the computer to perform the methods provided by the above method embodiments, for example, including: s1, acquiring a program set of the C-sharp program, and acquiring metadata of the target function according to the program set if the program set is the program set in which the target function is located; s2, using the metadata of the objective function to create a copy function; s3, obtaining the function body of the target function, and setting the function body into the created copy function.
Those of ordinary skill in the art will understand that: all or part of the steps for implementing the method embodiments may be implemented by hardware related to program instructions, and the program may be stored in a computer readable storage medium, and when executed, the program performs the steps including the method embodiments; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
The above-described embodiments of the function replication device in C-sharp are merely illustrative, where the units illustrated as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, may be located in one place, or may be distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above-described technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the embodiments or some parts of the embodiments.
Finally, the method of the present application is only a preferred embodiment and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A method for copying functions in C-sharp is characterized by comprising the following steps:
s1, acquiring a program set of the C-sharp program, and if the program set is the program set in which the target function is located, acquiring metadata of the target function according to the program set, wherein the metadata is used for describing attribute information of the target function, and the attribute information includes: at least one of a storage location, historical data, and a file record;
s2, using the metadata of the objective function to create a copy function;
s3, obtaining the function body of the objective function, and setting the function body into the created copy function, wherein the function body is used for representing the concrete implementation of the copy function.
2. The method according to claim 1, wherein the step S1 specifically includes:
creating a CLR Profiler instance, and loading the assembly set of the C-sharp program in the CLR Profiler instance;
when ICorProfileCallback: ModulLoadStarted method is called back, ICorProfileInfo: GetModuleInfo method is used for acquiring the name of the program set;
and if the name of the program set is the name of the program set in which the target function is located, acquiring the metadata of the target function according to the program set.
3. The method according to claim 1 or 2, wherein the step of obtaining the metadata of the objective function in step S1 specifically includes:
acquiring an ImetaDataImport interface instance of the program set by using an ICorProfileInfo method, namely a GetModuleMetaData method;
the metadata of the objective function is obtained in the ImetaDataImport interface instance using the IMetaDataImport method GetMethodProps.
4. The method according to claim 1 or 2, wherein the step S2 specifically includes:
in the callback of the icorprofilecallback:moduleloadstartedmethod, the copy function is created with the metadata of the target function as the function declaration of the copy function.
5. The method according to claim 1 or 2, wherein the step S3 specifically includes:
when ICorprofileCallback is in the state of JITComplationsStarted method callback, the ICorprofileInfo method is used for acquiring a function body of the target function;
passing the created copy function into ICorpProfileCallback: JITComplationsStarted method;
and setting the function body of the target function into the copy function.
6. The method according to claim 5, wherein the step of setting the body of the objective function into the copy function specifically comprises:
allocating a block of memory for the function body of the target function by using an ImethodMalloc interface;
copying a function body of the target function into the memory;
using icorprofilenfo: : and setting the function body in the memory into the copy function by the SetILFunctionBody method.
7. A C-sharp function replication apparatus, comprising:
the device comprises an acquisition unit, a processing unit and a processing unit, wherein the acquisition unit is used for acquiring a program set of a C-sharp program, and if the program set is the program set of a target function, the metadata of the target function is acquired according to the program set;
a creating unit configured to create a copy function using metadata of the objective function, the metadata being used to describe attribute information of the objective function, the attribute information including: at least one of a storage location, historical data, and a file record;
and the setting unit is used for acquiring a function body of the target function and setting the function body into the created copy function, wherein the function body is used for representing the specific implementation of the copy function.
8. The apparatus according to claim 7, wherein the obtaining unit is specifically configured to:
creating a CLR Profiler instance, and loading the assembly set of the C-sharp program in the CLR Profiler instance;
when ICorProfileCallback: ModulLoadStarted method is called back, ICorProfileInfo: GetModuleInfo method is used for acquiring the name of the program set;
and if the name of the program set is the name of the program set in which the target function is located, acquiring the metadata of the target function according to the program set.
9. A C-sharp function replication device, comprising:
at least one processor, at least one memory, and a bus; wherein the content of the first and second substances,
the processor and the memory complete mutual communication through the bus;
the memory stores program instructions executable by the processor, the processor invoking the program instructions to perform the method of any of claims 1 to 6.
10. A non-transitory computer-readable storage medium storing computer instructions that cause a computer to perform the method of any one of claims 1 to 6.
CN201710841734.6A 2017-09-18 2017-09-18 Function copying method and device in C-sharp Active CN107632934B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710841734.6A CN107632934B (en) 2017-09-18 2017-09-18 Function copying method and device in C-sharp

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710841734.6A CN107632934B (en) 2017-09-18 2017-09-18 Function copying method and device in C-sharp

Publications (2)

Publication Number Publication Date
CN107632934A CN107632934A (en) 2018-01-26
CN107632934B true CN107632934B (en) 2021-02-02

Family

ID=61101952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710841734.6A Active CN107632934B (en) 2017-09-18 2017-09-18 Function copying method and device in C-sharp

Country Status (1)

Country Link
CN (1) CN107632934B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719077A (en) * 2009-12-24 2010-06-02 北京飞天诚信科技有限公司 Method and device for injecting codes in .Net program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176480B1 (en) * 2006-02-27 2012-05-08 Symantec Operating Corporation Adaptive instrumentation through dynamic recompilation
US9645912B2 (en) * 2008-12-01 2017-05-09 Microsoft Technology Licensing, Llc In-place function modification
US8954929B2 (en) * 2010-03-29 2015-02-10 Microsoft Corporation Automatically redirecting method calls for unit testing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719077A (en) * 2009-12-24 2010-06-02 北京飞天诚信科技有限公司 Method and device for injecting codes in .Net program

Also Published As

Publication number Publication date
CN107632934A (en) 2018-01-26

Similar Documents

Publication Publication Date Title
KR101699981B1 (en) Memory optimization of virtual machine code by partitioning extraneous information
US9015702B2 (en) Determining compatibility of an application with different versions of an operating system
CN108459962B (en) Code normalization detection method and device, terminal equipment and storage medium
CN110955431B (en) Processing method and device of compiling environment
US9684786B2 (en) Monitoring an application in a process virtual machine
US8832125B2 (en) Extensible event-driven log analysis framework
CN106325970A (en) Compiling method and compiling system
US20090249368A1 (en) Runtime Code Hooking
CN110941528B (en) Log buried point setting method, device and system based on fault
US9612942B2 (en) Verification of a computer program in respect to an unexpected response to an access request
JP2005293578A (en) Test case inheritance controlled via attribute
US9824000B1 (en) Testing calling code dynamically with random error injection based on user-specified configuration
US9772865B2 (en) On-demand loading of dynamic scripting language code for reduced memory usage
US10102046B2 (en) In-memory data analytic system that provides an integrated tracking mechanism for explicit memory resources
EP3021216A1 (en) Incremental source code analysis
US8904346B1 (en) Method and system for automated load testing of web applications
US20200272441A1 (en) Systems and methods for mapping software applications interdependencies
CN114490103A (en) Operating system interface calling method and device and electronic equipment
CN107632934B (en) Function copying method and device in C-sharp
US11720348B2 (en) Computing node allocation based on build process specifications in continuous integration environments
CN114791884A (en) Test environment construction method and device, storage medium and electronic equipment
CN111045891B (en) Monitoring method, device, equipment and storage medium based on java multithreading
CN109634636B (en) Application processing method, device, equipment and medium
CN113031964A (en) Management method, device, equipment and storage medium for big data application
CN113220586A (en) Automatic interface pressure test execution method, device and system

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