JNI 中的register native的问题
raintung
2013-11-07
一直都没看到 jvmtiEventCallbacks 中的NativeMethodBind 是什么时候初始化的
这个方法体内容在哪,搜索了一遍源码没看到定义 请R大指点一下 |
|
RednaxelaFX
2013-11-07
什么时候初始化是什么意思?这个callback是由外部JVMTI agent自己注册的,没人注册就是NULL啊。
至于使用是在这: JvmtiExport::post_native_method_bind(methodOop method, address* function_ptr) 是问那个NULL是哪里赋值的么? |
|
raintung
2013-11-07
外部JVMTI agent自己注册的,是什么方式怎样注册的?例子有么?
主要在看JNI 里面的把class 中的native方法的地址替换成链接库函数的地址,这部分代码应该是NativeMethodBind 方法实现的。 |
|
RednaxelaFX
2013-11-07
raintung 写道 外部JVMTI agent自己注册的,是什么方式怎样注册的?例子有么?
主要在看JNI 里面的把class 中的native方法的地址替换成链接库函数的地址,这部分代码应该是NativeMethodBind 方法实现的。 NativeMethodBind只是个callback啊。您要找的功能不在这里。记得之前我在HLLVM群组的回帖里写过native函数是如何bind上来的。 http://hllvm.group.iteye.com/group/topic/37604 |
|
raintung
2013-11-09
不好意思,没有仔细看代码, 主要是register native的时候已经指定了函数地址,还误认为是在JVMTI里做的,谢谢R大。
|