對於我的masterthesis,我正在編寫一個Eclipse插件,用於在調試時可視化變量。我花費了大量的精力來創建自定義的「爬蟲」,以便對IJavaObject,IJavaType和IJavaValue等進行更加舒適的訪問。問題是,我還沒有看到任何可能在內存中獲得真正的底層對象,但只有IJavaObject包裝。Eclipse調試插件:從JDT的IJavaObject訪問底層java對象
E.g.如果我有一個java.awt.Color,我可以獲取IJavaObject並使用我的搜尋器調用方法(所以通過JDT的笨拙sendMessage)。因此,我可以查詢單個R,G和B值,構建我自己的Color對象,並可以直接顯示顏色。 但是,當涉及到一個java.awt.Image我想直接畫在某個地方,例如,我不能這樣做。我有權訪問IJavaObject和我的爬蟲程序,並且可以調用一些方法(只有那些接受原始類型作爲參數的方法),甚至可以查詢私有字段,但是我需要真正的Image對象,而不僅僅是寬度,高度或ImageObservers。
簡而言之: 有沒有可能訪問IJavaObject的實際底層對象?
在此先感謝。
你有沒有做任何這方面的進展JVM?我真的會喜歡使用這樣的工具!我正在考慮爲自己寫一些東西,但使用OpenGL代替(因爲我既是遊戲開發者又是圖形愛好者。)基本上只是一個更好的'toString' :) – Philip
我一年前成功完成了論文。該工具當然並不完美,但可以使用(Eclipse 4.2,Java 7)。如果您只需要特殊部分,我可以向您發送我的論文的來源,相關部分或特定內容。如果感興趣,你可以在Stackoverflow上下午嗎? – MrCube