ARM brings reversible debugging to DS-5
1 min read
Looking to help software developers reduce the amount of time spent fixing bugs, ARM has integrated a reversible debugger into its flagship DS-5 development suite.
Created by Cambridge-based start up Undo Software, the UndoDB tool has been described by ARM's director of product management, Javier Orensanz, as a 'game changer'.
Speaking to New Electronics, he said: "Application rewind gives designers similar benefits to trace when debugging Linux and Android native code on ARM targets, but it does so with no JTAG or CoreSight instruction trace. A special debug agent simply runs on the target."
The idea is that designers only need to connect their debugger to the target using an Ethernet or USB connection. The debug agent acts like cctv, recording enough information about the execution so that at any time designers can rewind or fast forward a history of the execution of the application.
The information is then stored on the target's memory with minimal overhead – only the application being debugged is slowed down.
Orensanz continued: "After you hit a breakpoint, you can use the debugger's controls to control the rewind. For example, you can run back to a breakpoint (rewind up to a specific instruction), run back to a watchpoint (rewind up to the last time a variable was accessed), or simply step back and forward in the code.
"All the time, the system views in the debugger show registers, variables and memory as they were at the time. This gives all the information you may want for your investigation."
Greg Law, co-founder and ceo of Undo, claims the tool can reduce the time it takes to debug from weeks to just minutes.
"UndoDB is the only C/C++ Linux reversible debugger with the required performance to be of practical use in the real world," he commented. "The platform can record everything that any Linux program does and then allows developers to wind the tape back and forth to home in on their bug. Many bugs that would otherwise take weeks to fix can be fixed in just minutes with UndoDB."
UndoDB will be included in DS-5 version 5.16, which is scheduled for launch in October.