如何在正在运行的JVM中查找类实例

时间:2012-03-21 20:24:17

标签: java

我试图找到一种在工作JVM中查找类实例的方法。 JVM嵌入到另一个进程中,并且该进程创建了一个对象。相同的进程执行我的Java代码。我没有直接访问Java代码中的Java对象引用,但我知道该对象的类。我想知道是否已经在JVM中实例化了这个类的对象,如果它们是,我想找到它们(比如说一个Object数组,引用了这个类的所有实例)。此机制可以是Java API或JNI API。

我知道这是可能的,因为调试器让我检查所有实例。我似乎无法找到方法。

由于

尼基塔

3 个答案:

答案 0 :(得分:1)

如果有人好奇,有可能我现在正在使用JVMTI。不是直截了当的,但非常可行。你可以查看我关于jvmti的其他帖子,你会找到答案。

Perplexed by jvmti object allocation callback behavior

由于

答案 1 :(得分:0)

答案 2 :(得分:0)

这应该可以使用调试接口

从另一个进程实现

http://docs.oracle.com/javase/6/docs/jdk/api/jpda/jdi/

但是,如果我正确理解您的要求,您将需要您的过程进行自我调试,这可能无法正常工作。