我正在尝试创建一个工具,可以捕获java程序进行的所有读写操作。另外,我想知道访问/修改哪个对象的哪些字段。
我目前查看的是:-
1) java.lang.instrument 我对此无能为力。我无法理解如何编写一个可以访问正在运行的程序并在不同对象/字段和任何相关内容上创建监视的代理。如果您对此有任何想法或信息,我将不胜感激。
2) jvmti 我查看了 jvmti 并尝试创建一个 jvmti 工具,但我发现要获取对象,我需要 JVMTI_EVENT_OBJECT_ALLOC 作为潜在功能。但我想,事实并非如此。此外,我读到此事件不是为 new 命令调用的。因此,目前看来,这似乎也不适用。
所以,我想知道你们是否知道有什么方法可以做我想做的事情,无论是使用上述方法还是您可能知道的任何其他技术/工具?
注意:我无权访问该应用程序的源代码。我拥有的只是类文件。
最佳答案
看看这些:
http://download.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html
http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html
http://jamonapi.sourceforge.net/
http://www.manageengine.com/products/applications_manager/java-runtime-monitoring.html
关于java - 如何捕获java程序中的读取和写入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6822565/