Debugger Feature Request - Instance Reference Location

Hi all,

What I mean by "Instance Reference Location" is the ability to see at a
frame in time what objects reference the object in question.

For Example - I have an object which is referenced in 3 other classes as
private properties and is also contained in 2 Map's, 1 List and 5 Array's of
that class.

The debugging scenario this would help with is if in (my badly designed
program) I was removing this from all the Arrays, Maps and Lists, but I was
missing one - this would enable me to find out which objects Im current
referenced from and sort my problem out.

I have a way around this problem and have fixed the bug - but this feature
would have rapidly sped up the track-down process.

If this is already possible, woohoo - how do I get this effect?

Thanks

- Dan


5 comments
Comment actions Permalink

+1!

Can you file a tracker request and I will vote for it.

Peter

Dan Hardiker wrote:

Hi all,

What I mean by "Instance Reference Location" is the ability to see at a
frame in time what objects reference the object in question.

For Example - I have an object which is referenced in 3 other classes as
private properties and is also contained in 2 Map's, 1 List and 5 Array's of
that class.

The debugging scenario this would help with is if in (my badly designed
program) I was removing this from all the Arrays, Maps and Lists, but I was
missing one - this would enable me to find out which objects Im current
referenced from and sort my problem out.

I have a way around this problem and have fixed the bug - but this feature
would have rapidly sped up the track-down process.

If this is already possible, woohoo - how do I get this effect?

Thanks

- Dan


0
Comment actions Permalink

In the meantime, and if you have deep pockets, you could look at a tool like JProbe to help you track those references.

Be prepared to be patient if you do.

0
Comment actions Permalink

Can you file a tracker request and I will vote for it.


http://www.intellij.net/tracker/idea/viewSCR?publicId=12487


0
Comment actions Permalink

Yes, it is true that this is a task often associated with optimization tools
such as JProbe, OptimizeIT etc., but I agree it does have real value in a
debugging situation. In the aforementioned products, you have no program
flow controls other than start/stop .

A feature I would also really like is to be able to find where a specific
object was allocated; this is especially useful when working with existing
frameworks as you have lots of instances of a class around, it's sometimes
very hard to know which object you are dealing with. E.g. I have a
reference to a JButton... but where is it?

Before I file a tracker on this, I'd like to know from the IntelliJ guys if
this sort of info is available to IDEA through the VM's api, and thus
whether it's achievable or will remain orthogonal to the product? I have no
idea of the debugger api's capabilities.

N.

Mark Lee wrote:

In the meantime, and if you have deep pockets, you could look at a
tool like JProbe to help you track those references.

>

Be prepared to be patient if you do.



0
Comment actions Permalink

There's a product called VisiComp RetroVue which is a java debugger that sort of does what your suggestion, and more. It actually records the entire execution of your program, and allows you to roll back or forward through the execution, watching variables change and such, like a tape recording. Not sure how they do it.

0

Please sign in to leave a comment.