Dynamic debugging technique

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For other expansions of "DDT", see DDT (disambiguation).

Dynamic Debugging Technique, or DDT, was the name of several debugger programs originally developed for DEC hardware, initially known as DEC Debugging Tape because it was distributed on paper tape. The name is a pun on the insecticide (i.e. bug-killer) DDT.

The first version of DDT was developed at MIT for the PDP-1 computer in 1961, but newer versions on newer platforms continued to use the same name. After being ported to other vendor's platforms and changing media, the name was changed to the less DEC-centric version.

DDT is closely related to ODT. Both names were used for several different debuggers, but generally debuggers with the ODT name had more limited capabilities than DDT debuggers.

Early versions of Digital Research's CP/M and CP/M-86 kept the DEC name DDT (and DDT-86) for their debugger, however, now meaning "Dynamic Debugging Tool".[1] The CP/M DDT was later superseded by SID and SID86 (for "Symbolic Instruction Debugger").

In addition to its normal function as a debugger, DDT was also used as a top-level command shell for the MIT ITS operating system; on some more recent ITS systems, it is replaced with a "PWORD" which implements a restricted subset of DDT's functionality. DDT could run and debug up to eight processes (called "jobs" on ITS) at a time, such as several sessions of TECO, and DDT could be run recursively - that is, some or all of those jobs could themselves be DDTs (which could then run another eight jobs, and so on). These eight jobs were all given unique names, and the usual name for the original and top-most DDT was "HACTRN" ("hack-tran"); thus Guy L. Steele's famous filk poem parody of Edgar Allan Poe's "The Raven," The HACTRN.

See also[edit]


  1. ^ Kildall, Gary Arlen (February 1978). "A simple technique for static relocation of absolute machine code". Dr. Dobb's Journal (DDJ). 3 (2): 10-13. #22. Retrieved 2017-08-19.  [1] [2]

External links[edit]