About application rewind
Application rewind is a DS-5 Debugger feature that allows you to debug backwards as well as forwards through the execution of Linux and Android applications.
NoteThe application rewind feature in DS-5 Debugger is license managed. Contact your support representative for details about this feature.
Debugging backwards is useful to help track down how an application reached a particular state, without having to repeatedly rerun your application from the beginning. Using this feature, you can both run and step, including hitting breakpoints and watchpoints. You can also view the contents of recorded memory, registers, and variables at any point in your application's execution.
- Application rewind does not follow forked processes.
- When debugging backwards, you can only view the contents of recorded memory, registers, or variables. You cannot edit or change them.
- Application rewind supports architecture ARMv5TE targets and later, except for the 64-bit ARMv8 architecture.
Application rewind uses a custom debug agent that records the execution of your application as it runs. This custom debug agent implements a buffer on the target to store history for recorded executions. The default is a straight buffer, which records events until the buffer limit is reached, and then stops the execution. At this point, you can either increase the size of the buffer or change the buffer to be circular. When using a circular buffer, once the limit of a circular buffer is reached, instead of stopping execution, the data wraps around and overwrites old content. A circular buffer ensures that execution does not stop when the buffer limit is reached, but you lose the execution history beyond the point where data wrapped around.
- To change buffer limits, use the command set
debug-agent history-buffer-size "size"
Where size specifies the amount of memory. You can specify the value in kilobytes (K), megabytes (M), or gigabytes (G).
For example, set debug-agent history-buffer-size "256.00 M"
- To change buffer type, use the command set debug-agent history-buffer-type
Where type specifies the type of buffer, which is either straight or circular.
For example, set debug-agent history-buffer-type "circular"