D D T - 1 1 ABSTRACT DDT is a comprehensive PDP11 debugging aid system permitting symbolic debugging of programs in both memory and on disk. It supports many data formats including MACRO-11 assembly language instructions, octal numbers, decimal numbers, (partial binary, hex and other radix support), ASCII text, RAD50 packed text, single and double precision floating point data, or 2 or 4 byte integers. Locations may be defined as symbols or referenced relative to symbols, with over 150 slots for user symbols and a facility for automatically defining global symbols via lookups in symbol table files. Normal instruction breakpoints are provided, plus a number (normally 8) of memory breakpoints that break when a memory location changes. Since debuggers often are too large to fit into task memory, DDT for RSX or IAS can run in a separate task and use a "debug kernel" of about 200 words to control the task being debugged, without loss of features. This permits debug of tasks up to 31.8K size. Also, DDT may be built able to examine or modify memory locations in a memory image file (such as a task image or certain user postmortem dumps) in any of its formats. It may switch from debug of memory to core image file and back interactively as needed. Also, DDT may be built so a single debugger can debug several tasks at a time, keeping breakpoints (of both types) separate for each task, and guaranteeing that breakpoints reached first will be processed first. This is designed for the systems of interacting tasks that need a true system wide debugging tool to debug otherwise difficult race conditions. A build command file for RSX or IAS is provided. For RT11 users or DOS users, see the source for the conditionals to use. DDT will now run on an LSI-11 (PDP11/03), but the L$$SI conditional must be defined to permit this. Note that under RT11 or DOS there is no easy way to get extra space as in RSX/IAS so DDT will always eat up your program space. Therefore in these systems you cannot always avoid the old Octal Debugging Tool (ODT). If anyone invents a way around this please let me know...even a partial solution (using an RT11 system process in the XM monitor for example?).