Java JDI转换为实际的实数类型

Java JDI转换为实际的实数类型,java,jdi,Java,Jdi,我刚刚开始了解一下JDI如何创建自定义调试器。我一直在尝试将引用对象转换为真实对象,这样我就可以在不使用invoke的情况下访问它们的字段或方法。我将jar从目标vm包含到项目中,这样我就可以访问所有真实对象。然后我尝试强制转换,但得到的异常像com.sun.tools.jdi.ObjectReference不能强制转换到myobject。是否有任何方法可以执行类似的操作,或者必须使用invoke User user = (User) frame.thisObject(); 这种类型的强制

我刚刚开始了解一下JDI如何创建自定义调试器。我一直在尝试将引用对象转换为真实对象,这样我就可以在不使用invoke的情况下访问它们的字段或方法。我将jar从目标vm包含到项目中,这样我就可以访问所有真实对象。然后我尝试强制转换,但得到的异常像
com.sun.tools.jdi.ObjectReference不能强制转换到myobject
。是否有任何方法可以执行类似的操作,或者必须使用invoke

User user = (User) frame.thisObject();  

这种类型的强制转换根本不可能,因为您必须将调试器视为对目标程序域对象一无所知的外部进程。

您的场景是一种特殊情况,但调试器通常不包括目标jar。

谢谢您提供的信息,我也这么认为,但我想确定一下。我可能只是用相同的方法创建一个类似的对象,并将调用包装成更友好的内容。