对于我的硕士论文,我正在编写一个 Eclipse 插件,用于在调试时可视化变量。我付出了很多努力来创建自定义“爬虫”,以便轻松访问 IJavaObject、IJavaType 和 IJavaValue 等。问题是,我没有看到任何可能在内存中获取真正的底层对象,而只是 IJavaObject 包装器。
例如,如果我有一个 java.awt.Color,我可以获取 IJavaObject 并使用我的爬虫调用方法(因此通过 JDT 的笨拙的 sendMessage)。因此,我能够查询单个 R、G 和 B 值,构建我自己的 Color 对象并可以直接显示颜色。但是当涉及到 java.awt.Image 时,我想直接在某个地方绘制,例如,我不能这样做。我可以访问 IJavaObject 和我的爬虫,并且可以调用一些方法(顺便说一句,只有那些接受原始类型作为参数的方法)甚至查询私有字段,但我需要真正的 Image 对象,而不仅仅是它的宽度、高度或 ImageObservers。
简而言之:是否有可能访问 IJavaObject 的真正底层对象?
提前致谢。