6.13 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 applications.

Note

The 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.

Note

  • 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.

Note

Debugging your application using application rewind results in increased memory consumption on your target and might slow down your application. The exact impact is dependent on the behavior of your application. Applications that perform large amounts of I/O are likely to experience increased memory consumption during the recording process.
Related tasks
2.8.1 Connecting to an existing application and starting an application rewind session
2.8.2 Downloading your application and application rewind server to the target system
2.8.3 Starting the application rewind server and debugging the target-resident application
Related reference
2.1 Overview: Debug connections in DS-5 Debugger
Non-ConfidentialPDF file icon PDF versionARM DUI0446W
Copyright © 2010-2015 ARM. All rights reserved.