Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Beyond what's been mentioned in earlier answers - i.e. Eclipse's drop to frame feature in the <a href="http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.user/reference/views/debug/ref-debug_view.htm" rel="nofollow noreferrer" title="Eclipse debug view, see drop to frame feature">debug view</a>, which restarts debugging earlier in the stack frame (but does not revert global/static data) and <a href="http://www.lambdacs.com/debugger/" rel="nofollow noreferrer" title="Omniscient debugger">Omniscient debugger</a>, which is a bit raw and not so much evolving - there are a few Eclipse-based tools that could be used to "go back" in (run)time:</p> <ul> <li><a href="http://www.cse.buffalo.edu/jive/" rel="nofollow noreferrer" title="JIVE">JIVE</a>: Java Interactive Visualization Environment</li> <li><a href="http://www.chrononsystems.com/" rel="nofollow noreferrer">Chronon</a>: A “flight data recorder” for Java programs</li> <li><a href="http://diver.sourceforge.net/" rel="nofollow noreferrer" title="Diver">Diver (discontinued)</a>: Dynamic Interactive Views For Reverse Engineering</li> <li><a href="https://halik.io" rel="nofollow noreferrer">Halik</a>: Only for IntelliJ for now, but <a href="https://trello.com/c/9FeLtF3K/12-integration-with-eclipse" rel="nofollow noreferrer">porting to Eclipse is mentioned on the roadmap</a>.</li> </ul> <p>JIVE extends Eclipse Java debugger with the ability to record the program states. The JIVE perspective provides some useful UML diagrams that are updated while the program is running. These diagrams provide an overview of the state of the application (object diagram) and of the stack trace (sequence diagram). You can query the memorized trace and step back and forward in time and see the corresponding diagrams. </p> <p>Diver only records method calls and does not really record program states like JIVE. Every method call event is stored for later retrieval and analysis. It extends the Java Run and Debug configurations mainly to specify filters. Trace can be paused/resumed/filtered at runtime. Once recorded, the Diver perspective can display it in an interactive sequence diagram.</p> <p>JIVE and Diver are open source projects issued from academic research. As of November 2012 both projects are active.</p> <p>Chronon is a commercial product, but they have free licenses for students and open source projects. From what's being claimed on their website it's probably the most comprehensive recorder since it's able to replay the recorded history, step back and forth, allowing as they say time traveling debugging. Also Eclipse isn't needed for recording.</p> <p>All of these plugin are quite greedy in resources so it's best to have a good spec machine and use their filter feature. A definite requirement to run them successfully is to <a href="https://stackoverflow.com/questions/477871/eclipse-ini-configuration" title="Extend heap space in eclipse.ini">extend the heap space in eclipse.ini</a>.</p> <p>In my case I've tried to use JIVE and Diver to debug an XML parsing program but always ended up freezing eclipse due to lack of resources. Diver could be <a href="http://sourceforge.net/support/tracker.php?aid=3145227" rel="nofollow noreferrer" title="Diver on linux 64bit">tricky to run on linux 64bit</a>, it works on ubuntu 32bit and possibly other 32bit distros using <a href="http://delaltctrl.blogspot.com/2010/06/diver-in-linux.html" rel="nofollow noreferrer" title="Running Diver on Linux tips">these tips</a>. Diver works on Windows, better yet on a Windows 64bit + 64bit JVM otherwise you will be limited to a <a href="https://stackoverflow.com/questions/171205/java-maximum-memory-on-windows-xp" title="Heap space limits on Windows 32bit">maximum heap space of 1.3-1.6Gb on 32bit windows</a>. JIVE works great on my linux 64bit, and seems to work fine on other platforms.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload