【发布时间】:2013-10-02 00:02:56
【问题描述】:
对于我的硕士论文,我正在编写一个 Eclipse 插件,用于在调试时可视化变量。我付出了很多努力来创建自定义“爬虫”,以便轻松访问 IJavaObject、IJavaType 和 IJavaValue 等。问题是,我没有看到任何可能在内存中获取真正的底层对象,而只是 IJavaObject 包装器。
例如如果我有一个 java.awt.Color 我可以获取 IJavaObject 并使用我的爬虫调用方法(因此通过 JDT 的笨拙的 sendMessage)。因此,我能够查询单个 R、G 和 B 值,构建我自己的 Color 对象并可以直接显示颜色。 但是当涉及到 java.awt.Image 时,我想直接在某个地方绘制,例如,我不能这样做。我可以访问 IJavaObject 和我的爬虫,并且可以调用一些方法(顺便说一下,只有那些接受原始类型作为参数的方法)甚至查询私有字段,但我需要真正的 Image 对象,而不仅仅是它的宽度、高度或 ImageObservers。
简而言之: 是否有可能访问 IJavaObject 的真正底层对象?
提前致谢。
【问题讨论】:
-
您在这方面取得了进展吗?我真的喜欢使用这样的工具!我正在考虑为自己写一些东西,但改用 OpenGL(因为我既是游戏开发者又是图形爱好者。)基本上只是一个更好的
toString:) -
我在一年前顺利完成了我的论文。该工具当然不完美但可以使用(Eclipse 4.2、Java 7)。如果你只需要一个特殊的部分,我可以把我论文的来源、相关部分或特定的东西发给你。有兴趣可以pm Stackoverflow吗?
标签: java debugging eclipse-plugin eclipse-jdt jpda