Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[platform-debug-dev] New Feature Proposal: InTrace integration

I am a full time Java developer and I work with Java code using Eclipse almost every day in my job. Most of the time the existing Java debug features are suitable for helping me to track down problems. However, there is one use case where I think the existing tools are insufficient.

When I am working with multi threaded code I find that breakpoints become less useful as the order of execution of threads is important and so having individual theads stopped by a breakpoint can change the behaviour which I am trying to investigate. In this case I tend to rely on letting the code execute uninterrupted and writing out trace logs which show what code was executed and in what order. However, the process of adding this tracing to my code is time consuming and an obvious candidate for automation.

To this end I have created the InTrace tool (https://github.com/mchr3k/org.intrace/wiki) which uses a Java Agent to add instrumentation to selected classes so that trace output can be generated. The really nice aspect of doing this through a Java agent is that I can add instrumentation to any application class even if I don't have the source code.

InTrace is currently a standalone tool. I think it would be much more useful if this functionality was added to the Eclipse Java Debug project. I am imagining something like the following:

- A new launch option to enable loading the InTrace agent when a Java program is launched.
- A new View similar to the existing Console but showing the collected Trace output.

I would love to hear any feedback about this idea or about my InTrace tool. I expect that doing the Eclipse integration well would take a reasonable amount of time so I don't want to start it until I get a sense of whether it would be accepted. I am not keen to produce a standalone plugin as I think this useful feature should be available to as many people as possible as part of the Eclipse Java Debug project.

Martin



Back to the top