PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Tcl and the Tk toolkit
A machine-independent debugger
Software—Practice & Experience
DDD—a free graphical front-end for UNIX debuggers
ACM SIGPLAN Notices
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
The New KornShell Command and Programming Language
The New KornShell Command and Programming Language
A Retargetable C Compiler: Design and Implementation
A Retargetable C Compiler: Design and Implementation
Tksh: a Tcl library for KornShell
TCLTK'96 Proceedings of the 4th conference on USENIX Tcl/Tk Workshop, 1996 - Volume 4
Extension Language Automation of Embedded System Debugging
Automated Software Engineering
Traversal-Based Visualization of Data Structures
INFOVIS '98 Proceedings of the 1998 IEEE Symposium on Information Visualization
Revised Lectures on Software Visualization, International Seminar
Tool Support for Testing and Documenting Framework-Based Software
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
A Dataflow Language for Scriptable Debugging
Proceedings of the 19th IEEE international conference on Automated software engineering
The design and implementation of a dataflow language for scriptable debugging
Automated Software Engineering
NT'97 Proceedings of the USENIX Windows NT Workshop on The USENIX Windows NT Workshop 1997
LSSA'97 Proceedings of the 1997 Workshop on Large Scale System Administration of Windows NT
Hi-index | 0.00 |
deet is a simple but powerful debugger for ANSIC and Java. It differs from conventional debuggers in that it is machine-independent, graphical, programmable, distributed, extensible, and small. Low-level operations are performed by communicating with a "nub," which is a small set of machine-dependent functions that are embedded in the target program at compile-time, or are implemented on top of existing debuggers. deet has a set of commands that communicate with the target's nub. The target and deet communicate by passing messages through a pipe or socket, so they can be on a different machines. deet is implemented in tksh, an extension of the Korn shell that provides the graphical facilities of Tcl/Tk. Users can browse source files, set breakpoints, watch variables, and examine data structures by pointing and clicking. Additional facilities, like conditional breakpoints, can be written in either Tcl or the shell. Most debuggers are large and complicated, deet is less than 1,500 lines of shell plus a few hundred lines of machine-specific nub code. It is thus easy to understand, modify, and extend. We describe an implementation of the nub API for Java and an implementation that is layered on top of gdb. We have also implemented a version of gdb using the nub API, which demonstrates the modularity of the design.