Dynamic debugging technique: Difference between revisions

Content deleted Content added
Adding local short description: "Series of debugger programs", overriding Wikidata description "debugger programs originally developed for DEC hardware; the name is a pun on the insecticide (i.e. bug-killer) DDT"
 
(30 intermediate revisions by 16 users not shown)
Line 1:
{{Short description|Series of debugger programs}}
: ''For other expansions of "DDT", see [[DDT (disambiguation)]].''
{{Use dmy dates|date=July 2019|cs1-dates=y}}
{{Use list-defined references|date=January 2022}}
[[File:Digital Research CP-M-86 for the IBM Personal Computer Version 1.0 720x400.png|thumb|300px|<code>DDT86.CMD</code> in [[Digital Research]] [[CP/M-86]] for the [[IBM Personal Computer]] Version 1.0]]
'''Dynamic Debugging Technique''' ('''DDT''') is a series of [[debugger]] programs originally developed for [[Digital Equipment Corporation]] (DEC) hardware, initially known as '''DEC Debugging Tape''' because it was distributed on [[paper tape]]. The name is a pun on the insecticide [[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. {{anchor|CP/M}}Early versions of [[Digital Research]]'s [[CP/M]] and [[CP/M-86]] kept the DEC name DDT (and DDT-86 and DDT-68K<!-- both with hyphen -->) for their debugger, however, now meaning "'''Dynamic Debugging Tool'''".<ref name="Kildall_1978_DDT"/><ref name="DR_1976_DDT"/> The CP/M DDT was later superseded by the ''[[Symbolic Instruction Debugger]]'' (SID,<ref name="DR_1978_SID"/> ZSID, [[SID86]]<!-- no hyphen -->,<ref name="DR_1982_SID86"/> and [[GEMSID]]) in [[DR&nbsp;DOS]] and [[Graphics Environment Manager|GEM]].<ref name="Paul_1997_DRDOSTIP"/><ref name="Paul_2002_DEBUG"/>
 
In addition to its normal function as a debugger, DDT was also used as a top-level [[command line interpreter|command shell]] for the [[Massachusetts Institute of Technology|MIT]] (MIT) [[Incompatible Timesharing System|ITS]] (ITS) [[operating system]]; on some more recent ITS systems, it is replaced with a "PWORD" which—which implements a restricted subset of DDT's functionalityfunctionality—is run first and is overlaid with DDT as soon as the user logs in. DDT could run and debug up to eight [[Process (computing)|processes]] (called "jobs" on ITS) at a time, such as several sessions of [[Text Editor and Corrector|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 famouswrote a [[filk]] poem parody of [[Edgar Allan Poe]]'s "[[The Raven]]," entitled ''The HACTRN''.{{fact|date=April 2020}}
'''Dynamic Debugging Technique''', or '''DDT''', was the name of several [[debugger]] programs originally developed for [[Digital Equipment Corporation|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]].
 
=={{anchor|TDT}}DEC-10/DEC-20 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 (Dynamic Debugging Technique), as implemented on the [[DECsystem-10]] & [[DECSYSTEM-20]]<ref name="DEC_1975_DDT"/> allowed references to symbols within the programming being debugged. This feature loaded symbols from the .EXE executable file; a special version named SDDT used symbols from the running monitor and allowed system programmers to "peek" inside.<ref name="DEC_1975_DDT"/>
 
DDT is closely related to [[Octal Debugging Technique|ODT]]. Both names were used for several different debuggers, but generally debuggers with the ODT name had more limited capabilities than DDT debuggers.
 
{{anchor|CP/M}}Early versions of [[Digital Research]]'s [[CP/M]] and [[CP/M-86]] kept the DEC name DDT (and DDT-86 and DDT-68K<!-- both with hyphen -->) for their debugger, however, now meaning "'''Dynamic Debugging Tool'''".<ref name="Kildall_1978_DDT"/> The CP/M DDT was later superseded by the ''[[Symbolic Instruction Debugger]]'' (SID, ZSID, [[SID86]]<!-- no hyphen -->, and [[GEMSID]]) in [[DR&nbsp;DOS]] and [[Graphics Environment Manager|GEM]].<ref name="Paul_1997_DRDOSTIP"/><ref name="Paul_2002_DEBUG"/>
 
In addition to its normal function as a debugger, DDT was also used as a top-level [[command line interpreter|command shell]] for the [[Massachusetts Institute of Technology|MIT]] [[Incompatible Timesharing System|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 [[Process (computing)|processes]] (called "jobs" on ITS) at a time, such as several sessions of [[Text Editor and Corrector|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==
* [[On-line Debugging TechniqueTool]] (ODT)
* [[Tracing Debugging Technique]] (TDT)<!-- link with possibilities -->
* [[DEBUG (DOS command)]]
* [[Comparison of computer shells]]
* [[On-line Debugging Technique]]
 
==References==
{{reflist|refs=
<ref name="Kildall_1978_DDT">{{cite journal |author-first=Gary Arlen |author-last=Kildall |author-link=Gary Arlen Kildall |title=A simple technique for static relocation of absolute machine code |journal=[[Dr. Dobb's Journal of Computer Calisthenics & Orthodontia]] (DDJ) |idpublisher=#22[[People's Computer Company]] |volume=3 |numberissue=2 |dateid=February 1978#22<!-- |pagenumber=1022 -13-> |url=httpsark:/13960/groups.google.com/forum/#!topic/comp.os.cpm/TLHgIi16yTot8hf1g21p |accessdate=February 1978 |orig-date=2017<!-08-19 |deadNovember -url=no->1976 |archive-urlpages=http://archive.is/1tRNR10–13<!-- in the issue |archive-date-> (66–69<!-- in the volume -->) |isbn=20180-088104-275490-4<!-- GKPRL.WS4of the volume -->}} [http|url=https://www.retrotechnologyarchive.comorg/dridetails/d_dri_refs.html<!dr_dobbs_journal_vol_03/page/n67/mode/1up |access-date=2017-08-19}} [https://web.archive.org/web/2018082703472020170819141800/http://www.retrotechnology.com/dri/d_dri_refs.html-->] [https://web.archive.org/web/20170819173516/http://archive.computerhistory.org/resources/access/text/2016/12/102762506-05-01-acc.pdf<!-- ][https://web.archive.orgtoday/web20170909091943/20180827034809/httphttps://archivegroups.computerhistorygoogle.orgcom/resourcesforum/access%23!msg/textcomp.os.cpm/2016TLHgIi16yTo/12gupNB1ai8UQJ#!topic/102762506comp.os.cpm/TLHgIi16yTo]. Originally presented at: {{cite conference |title=Conference Record: Tenth Annual Asilomar Conference on Circuits, Systems and Computers: Papers Presented November 22–24, 1976 |editor-05first=Harold A. |editor-01last=Titus |chapter=A Simple Technique for Static Relocation of Absolute Machine Code |author-acc.pdffirst=Gary Arlen |author-last=Kildall |author-link=Gary Arlen Kildall |<!-- written-at -->location=[[Naval Postgraduate School]], Monterey, California, USA |publisher=Western Periodicals Company |publication-place=Asilomar Hotel and Conference Grounds, Pacific Grove, California, USA |date=1977 |orig-date=22–24 November 1976 |issn=1058-6393 |pages=420–424 |url=https://books.google.com/books?id=cyBGAQAAIAAJ&q=relocation |access-date=2021-12-06}} (609 pages)</ref>
<ref name="Paul_1997_DRDOSTIPDR_1978_SID">{{cite book |title=DRDOSTIP.TXTSID Users Tips und Tricks für DR DOS 3.41 - 5.0Guide |workdate=MPDOSTIP1978 |author-firstpublisher=Matthias[[Digital |author-last=PaulResearch]] |dateid=1997595-05-24 |orig-year=1991 |edition=47 |language=German2549 |url=http://www.antoniscpm.z80.de/dos/dos-tuts/mpdostiprandyfiles/htmlDRI/drdostipSID_ZSID.htmpdf |access-date=20162020-1102-0706 |dead-url-status=nolive |archive-url=https://web.archive.org/web/2016110712545220191020124044/http://www.antoniscpm.z80.de/dos/dos-tuts/mpdostiprandyfiles/htmlDRI/drdostipSID_ZSID.htmpdf |archive-date=20162019-1110-0720}} (4+69 pages)</ref>
<ref name="DR_1976_DDT">{{cite book| title =CP/M Dynamic Debugging Tool (DDT). User's Guide|publisher=[[Digital Research]]|date=1976|url=http://www.cpm.z80.de/randyfiles/DRI/DDT.pdf| access-date=2023-02-11|archive-url=https://web.archive.org/web/20070706053100/http://www.cpm.z80.de/randyfiles/DRI/DDT.pdf|archive-date=2007-07-06|url-status=live}}</ref>
<ref name="Paul_2002_DEBUG">{{cite web |title=SID86 |author-first=Matthias |author-last=Paul |date=2002-01-09 |work=comp.os.cpm |url=https://groups.google.com/d/msg/comp.os.cpm/KG4R7ZNvHK8/U5LAkmjcxYgJ |access-date=2018-04-08 |dead-url=no |archive-url=http://archive.is/o3DEV |archive-date=2018-08-27 |quote=[…] Since the [[DR-DOS 7.03]] [[DEBUG (DOS command)|DEBUG]] is still based on the old [[SID86|SID86.EXE]], I suggest to run DEBUG 1.51 and enter the extended help system with ?? from the debug prompt. This will give you eight screens full of syntax and feature help. Some of these features were also supported by older issues. […]}}</ref>
<ref name="DR_1982_SID86">{{cite book |title=SID-86 User's Guide for CP/M-86 |date=August 1982 |orig-date=March 1982 |edition=2 |publisher=[[Digital Research]] |id=SID86UG.WS4 |url=http://www.cpm.z80.de/manuals/SID86_User_Guide.txt |access-date=2020-02-06 |url-status=live |archive-url=https://web.archive.org/web/20191020123025/http://www.cpm.z80.de/manuals/SID86_User_Guide.txt |archive-date=2019-10-20}} [https://web.archive.org/web/20200208055456/https://archive.computerhistory.org/resources/access/text/2016/12/102762507-05-01-acc.pdf<!-- https://archive.computerhistory.org/resources/access/text/2016/12/102762507-05-01-acc.pdf -->] (NB. A retyped version of the manual by Emmanuel Roche with Q, SR, and Z commands added.)</ref>
<ref name="Paul_1997_DRDOSTIP">{{cite book |title=DRDOSTIP.TXT — Tips und Tricks für DR DOS 3.41 - 5.0 |work=MPDOSTIP |author-first=Matthias R. |author-last=Paul |date=1997-05-24 |orig-date=1991 |edition=47 |language=de |url=http://www.antonis.de/dos/dos-tuts/mpdostip/html/drdostip.htm |access-date=2016-11-07 |url-status=live |archive-url=https://web.archive.org/web/20161107125452/http://www.antonis.de/dos/dos-tuts/mpdostip/html/drdostip.htm |archive-date=2016-11-07}}</ref>
<ref name="Paul_2002_DEBUG">{{cite webnewsgroup |title=SID86 |author-first=Matthias R. |author-last=Paul |date=2002-01-09 |worknewsgroup=comp.os.cpm |url=https://groups.google.com/d/msg/comp.os.cpm/KG4R7ZNvHK8/U5LAkmjcxYgJ |access-date=2018-04-08 |dead-url-status=nolive |archive-url=httphttps://archive.istoday/20180827033457/https://groups.google.com/forum/%23!msg/comp.os.cpm/KG4R7ZNvHK8/o3DEVwF6ZW1TyYj4J |archive-date=2018-08-27 August 2018 |quote=[…] Since the [[DR-DOS 7.03]] [[DEBUG (DOS command)|DEBUG]] is still based on the old [[SID86|SID86.EXE]], I suggest to run DEBUG 1.51 and enter the extended help system with ?? from the debug prompt. This will give you eight screens full of syntax and feature help. Some of these features were also supported by older issues. […] }}</ref>
<ref name="DEC_1975_DDT">{{cite book |title=Reference Manual: DDT (Dynamic debugging technique) and TDT (Tracing debugging technique |author-first=Douglas E. |author-last=Bering |date=1975 |orig-date=1968, 1969, 1970 |id=DEC-10-UDDTA-A-D |publisher=National Technical Information Service] |chapter=Intro |url=https://www.amazon.com/Dynamic-debugging-technique-Tracing-systems/dp/B0006XBRFS |quote=DDT (Dynamic debugging technique) and TDT (Tracing debugging technique) for PDP-11 systems}}</ref>
}}
 
==External links==
* [http://web.mit.edu/afs/net/project/cgw/src/ddt.68/ddt.cmds DDT Command List] for a freeware version written in portable [[C (programming language)|C]]
*[https://web.archive.org/web/20061011004003/http://www.sigfs.org/its-reference/its-reference-1.5.html#tth_sEc0.4.1 ITS 1.5 Reference Manual] -(Artificial Intelligence Memo No. 161A)
* [http://victor.se/bjorn/its/luser.php ITS: Luser's Guide]
* [http://www.ultimate.com/phil/pdp10/quux.poem The Great Quux Poem Collection] -(See especially the notes to the poem ''The HACTRN'')
 
{{Digital Equipment Corporation}}
{{Digital Research}}
 
[[Category:Debuggers]]
[[Category:DECDigital operatingEquipment systemsCorporation]]
[[Category:CP/M]]
[[Category:Command shells]]