码迷,mamicode.com
首页 > 其他好文 > 详细

JPDA 架构研究15 - Agent利用环境指针访问VM(字段访问篇)

时间:2014-12-09 15:53:02      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:jdwp   jpda   jvmti   

引入:

上文中我们已经探讨了Agent如何利用环境指针访问VM(对象级的操作),现在我们 讨论让Agent利用环境指针访问类的字段。


分类10:字段访问

a.GetFieldName.获取某类的某字段名字

jvmtiError
GetFieldName(jvmtiEnv* env,
            jclass klass,
            jfieldID field,
            char** name_ptr,
            char** signature_ptr,
            char** generic_ptr)


b.GetFieldDeclaringClass. 获取声明该字段的类

jvmtiError
GetFieldDeclaringClass(jvmtiEnv* env,
            jclass klass,
            jfieldID field,
            jclass* declaring_class_ptr)


c.GetFieldModifiers. 获取某类的某字段的访问修饰符

jvmtiError
GetFieldModifiers(jvmtiEnv* env,
            jclass klass,
            jfieldID field,
            jint* modifiers_ptr)


d.IsFieldSynthetic. 判断某类的某字段是否是虚构字段

jvmtiError
IsFieldSynthetic(jvmtiEnv* env,
            jclass klass,
            jfieldID field,
            jboolean* is_synthetic_ptr)

所谓的虚构字段就是由编译器产生的而不是直接定义在源代码中的字段。


本文出自 “平行线的凝聚” 博客,请务必保留此出处http://supercharles888.blog.51cto.com/609344/1587889

JPDA 架构研究15 - Agent利用环境指针访问VM(字段访问篇)

标签:jdwp   jpda   jvmti   

原文地址:http://supercharles888.blog.51cto.com/609344/1587889

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!