JDI を使用してプログラムをデバッグしています。特定の ObjectReference のフィールドの値を変更しようとしています。私はそれを見つけることができるように、フィールドオブジェクトを持っています
ObjectReference.referencetype().allFields()
ただし、使用してそのフィールドを変更することはできません
ObjectReference.setValue(Field paramField, Value paramValue)
これは、このクラスまたはその直接のスーパークラス内のフィールドでのみ機能するため、階層の上位クラスは含まれません。
直接のスーパー クラスより上位のクラスで Field の値を変更することは可能ですか? もしそうなら、私はそうするための助けをいただければ幸いです!
ありがとうございました、
ディーン
編集: ObjectReference.setValue() を呼び出す行で次のエラーがスローされます:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.sun.tools.jdi.MirrorImpl.validateMirror(MirrorImpl.java:49)
at com.sun.tools.jdi.ObjectReferenceImpl.setValue(ObjectReferenceImpl.java:214)