0

我刚刚开始了解 JDI 以创建自定义调试器。我一直在尝试将引用对象转换为真实对象,这样我就可以在不使用调用的情况下访问它们的字段或方法。我将 jar 从目标 vm 包含到项目中,因此我可以访问所有真实对象。然后我尝试强制转换,但得到像com.sun.tools.jdi.ObjectReference cannot be cast to myobject. 有什么办法可以做这样的事情还是你必须使用调用?

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

1 回答 1

1

这种类型的转换根本不可能,因为您必须将调试器视为对目标程序域对象一无所知的外部进程。
您的场景是一种特殊情况,但通常调试器不包含目标 jar。

于 2017-06-12T07:01:19.683 回答