- Reverse analogues of GDB commands:
An execution of a function body is called an activation.
Once the program executes, we can draw a tree, called an activation tree, that depicts the sequence and hierarchy of function calls made during the entire program execution.
In this tree, the root is the activation of
main(), the functions called by main are its children in the tree. Time is represented along the vertical axis. For example, here's the activation tree for a Towers of Hanoi program execution with 3 rings.
Besides being a great help in debugging recursive programs, this visualisation is also helpful in understanding programs that were written by someone else.
GDB's watchpoint feature allows you to stop at any point where a user-specified expression changes.
Lizard gives you the backward analogue of this: go to the last place in the execution when the value of a given expression was changed.
- Existing GDB features: