HotWire -- A Visual Debugger for C++
Chris Laffra and Ashok Malhotra
I.B.M. Thomas J. Watson Research Center,
P.O.Box 704, Yorktown Heights, NY 10598, USA
Email: {laffra,petsa}@watson.ibm.com
Abstract
We argue that visualization is essential in a modern debugger.
Instead of inserting debug statements throughout the code, it should
be possible to easily define visualizations while running the program
under control of the debugger, resulting in what might be called
"visual printf's". A visualization of a C++ program can provide
exciting insights. Bugs that cannot be found that easily with
non-visual techniques are now found, just by watching the
visualizations. However, the mechanisms to define the visualizations
should be easy to understand, easy to apply and cause only minimal
overhead to the programmer (who is the end-user of the visual
debugger). HotWire is not only equipped with a couple of standard
visualizations, but also with a small declarative script language
(using constraints) that can be used to define new custom
visualizations. This paper addresses user interface aspects of
debugging tools. Specifically, the user interface of HotWire, a
debugger for C++ and SmallTalk on AIX and OS/2 is described.
Download the full text of this paper in
ASCII (40,933 bytes) and
POSTSCRIPT (913,082 bytes) form.
To Become a USENIX Member, please see our
Membership Information.