我正在嘗試創建一個工具,可以捕獲由java程序所做的所有讀取和寫入操作。另外,我想知道訪問/修改什麼對象的哪些字段。如何捕獲Java程序中的讀寫操作?
我目前看: -
1)的java.lang.instrument 我不能做很多這一點。我無法理解如何編寫能夠訪問正在運行的程序的代理,並在不同的對象/字段和相關的任何內容上創建監視。如果您對此有任何想法或信息,我將不勝感激。
2)JVMTI 我看着JVMTI,並試圖建立一個JVMTI工具,但我想通了,得到的對象,我需要的JVMTI_EVENT_OBJECT_ALLOC是一個潛在的能力。但是,我認爲,事實並非如此。此外,我讀到,這個事件不叫新命令。因此,目前,這似乎也不適用。
所以,我想知道你們是否知道有什麼辦法可以做我想做的事情,或者使用上面提到的方法或者其他你可能知道的技術/工具?
注意:我無權訪問應用程序的源代碼。所有的,我有類文件。
類文件是亂碼還是可以反編譯它們? – Matt
嗨馬特,我有java應用程序作爲單個jar文件。 – Ankit
我的問題主要針對:你想解決一般問題還是僅僅針對你的特定jar文件? – Matt