Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoadDll ¶
在同一个Plugin目录下编译的so不管名字还是存放路径都会表示为同一个plugin,只能加载一次,改变Plugin目录即可进行第二次编译,然后改变 Case 1 (成功): 函数相同,分别是patch1/patch1.so 和patch2/patch2.so Case 2 (失败): 一次将两个库移动到patch/patch.so
Types ¶
type PatchGuard ¶
type PatchGuard struct {
// contains filtered or unexported fields
}
func Patch ¶
func Patch(target, replacement interface{}) *PatchGuard
Patch replaces a function with another
func PatchInstanceMethod ¶
func PatchInstanceMethod(target reflect.Type, methodName string, replacement interface{}) *PatchGuard
PatchInstanceMethod replaces an instance method methodName for the type target with replacement Replacement should expect the receiver (of type target) as the first argument
func (*PatchGuard) Restore ¶
func (g *PatchGuard) Restore()
func (*PatchGuard) Unpatch ¶
func (g *PatchGuard) Unpatch()
Click to show internal directories.
Click to hide internal directories.