debugging - Step back in Eclipse debugger - Stack Overflow



You can use Eclipse's drop to frame command to re-enter the current method from the top. But it won't unroll any state changes that have happened, so it may not work depending on the sort of method you're in.
Another really cool tool that actually does let you step back and forward in time is the Omniscient Debugger. It works by instrumenting classes as they're loaded in the classloader, so it can record everything that your code does. It can do very cool things, like answer "when, where, and why was this field assigned its current value?". The UI is rather clunky, and it can have a hard time handling large code bases, but for some cases it can really save a lot of time.
Update: Chronon provides a commercial product that it describes as a "DVR for Java", which appears to do a lot of the same things as the ODB.
  • JIVE: Java Interactive Visualization Environment
  • Diver: Dynamic Interactive Views For Reverse Engineering
  • Chronon: A “flight data recorder” for Java programs
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.
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.
JIVE and Diver are open source projects issued from academic research. As of November 2012 both projects are active.
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.
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 extend the heap space in eclipse.ini.
Read full article from debugging - Step back in Eclipse debugger - Stack Overflow

No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts