Bi-directional C/C++ debugger achieves 2.0 release
Mar 13, 2007 — by LinuxDevices Staff — from the LinuxDevices Archive — viewsUndo Software has released a second version of its “bi-directional” debugger for C/C++ binaries, aimed at helping programmers “reason backwards from the point of failure.” UndoDB 2.0 adds support for programs that use threads and asynchronous signals, the company says.
Undo launched Undo in May of last year, touting it as the first available “bi-directional” debugger to support arbitrary binaries, including those compiled from C/C++ code. The program records “everything that the debuggee program does,” the company says — including each memory access, computation, OS call, and every input — so that users can single-step or multi-step backward through program execution, as well as forward. Log size is said to be minimized by a “snapshot and replay” technique that stores only “non-deterministic” inputs.
In support of bi-directional debugging, Undo is fond of quoting a passage of advice from The Practice of Programming, by Kernighan and Pike:
Reason back from the state of the crashed program to determine what could have caused this. Debugging involves backwards reasoning, like solving murder mysteries. Something impossible occurred, and the only solid information is that it really did occur. So we must think backwards from the result to discover the reasons.
Undo CEO Greg Law stated, “Bugs are by far software's single biggest issue. It's always been so, and it's been getting steadily worse as software has become ever more complicated. Debugging may not be glamorous, but it totally dominates software development costs, schedule delays, and product quality. Even now a very small proportion of computer scientists are directly working on this problem. But things are beginning to change — Undo Software is one of a small but growing number of players in the industry who are giving this huge problem the attention it deserves.”
KDE developer Jacob Rideout stated, “I found the idea of [the] product amazing and a boon to my productivity. I already have been able to fix a deadlock that was driving me crazy for a week, in only 10 minutes.”
Programmers spend 80 percent of their time debugging, and software bugs cost $60B per year in the U.S., according to a NIST report cited by Undo.
Availability
Undo DB 2.0 is available now, for Linux/x86, priced at $195 per seat for a one-year license, or $295 for a perpetual license.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.