Snapshots allow you to compare the value of an object at one point in time with its value at a later point in time. You can take a snapshot of a variable when the program is at a breakpoint. The debugger copies the values of not only the selected variable but any of its members and and so on until it can find no debug information for a member or no more members can be found.
The procedure for using variable snapshots is typically as follows:
- Set two breakpoints (called start and end ) The start is usually placed at the start of a function and the end breakpoint at the end of the function.
- At the start breakpoint select a variable in the Locals window and select the Save Variable Snapshot context menu option.
- Run the program.
- When the end breakpoint is reached, select the Compare Variable Snapshots context menu option; a dialog displays that details the original value from the first snapshot and the current value from the second snapshot (see the example below).
The following image shows the comparison between values of a variable, captured using this feature. (This is taken from the EA.Example model.)