Turbo Debugger (TD) is a machine-level debugger for
DOS
DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
executables, intended mainly for debugging Borland Turbo Pascal, and later Turbo C programs, sold by
Borland
Borland Software Corporation was a computing technology company founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad, and Philippe Kahn. Its main business was developing and selling software development and software deployment products. B ...
. It is a full-screen debugger displaying both Turbo Pascal or Turbo C source and corresponding assembly-language instructions, with powerful capabilities for setting breakpoints, watching the execution of instructions, monitoring machine registers, etc. Turbo Debugger can be used for programs not generated by Borland compilers, but without showing source statements; it is by no means the only debugger available for non-Borland executables, and not a significant general-purpose debugger.
Although Borland's
Turbo Pascal
Turbo Pascal is a software development system that includes a compiler and an integrated development environment (IDE) for the programming language Pascal (programming language), Pascal running on the operating systems CP/M, CP/M-86, and MS-DOS. ...
has useful single-stepping and conditional breakpoint facilities, the need for a more powerful debugger became apparent when Turbo Pascal started to be used for serious development.
Initially, a separate company,
TurboPower Software, produced a debugger,
T-Debug, and also their
Turbo Analyst and Overlay Manager for Turbo Pascal for versions 1 to 3. TurboPower released T-Debug Plus 4.0 for Turbo Pascal 4.0 in 1988,
but by then Borland's Turbo Debugger had been announced.
The original Turbo Debugger was sold as a stand-alone product introduced in 1989,
along with
Turbo Assembler
Turbo Assembler (TASM) is an assembler for software development published by Borland in 1989. It runs on and produces code for 16- or 32-bit x86 MS-DOS and compatibles for Microsoft Windows. It can be used with Borland's other language produc ...
and the second version of
Turbo C
Turbo C is a discontinued integrated development environment (IDE) and compiler for the C programming language from Borland. First introduced in 1987, it was noted for its integrated development environment, small size, fast compile speed, com ...
.
To use Turbo Debugger with source display, programs, or relevant parts of programs, must be compiled with Turbo Pascal or Turbo C with a conditional directive set to add debugging information to the compiled executable, with related source statements and corresponding machine code. The debugger can then be started (Turbo Debugger does not debug within the development IDE). After debugging the program can be recompiled without debugging information to reduce its size.
Later Turbo Debugger, the stand-alone
Turbo Assembler
Turbo Assembler (TASM) is an assembler for software development published by Borland in 1989. It runs on and produces code for 16- or 32-bit x86 MS-DOS and compatibles for Microsoft Windows. It can be used with Borland's other language produc ...
(TASM), and Turbo
Profiler were included with the compilers in the professional
Borland Pascal and
Borland C++
Borland C++ was a C and C++ IDE (integrated development environment) released by Borland for MS-DOS and Microsoft Windows. It was the successor to Turbo C++ and included a better debugger, the Turbo Debugger, which was written in protected mo ...
versions of the more restricted Turbo Pascal and Turbo C++ suites for DOS. After the popularity of
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
ended the era of DOS software development, Turbo Debugger was bundled with TASM for
low-level software development. For many years after the end of the DOS era, Borland supplied Turbo Debugger with the last console-mode Borland C++ application development environment, version 5, and with Turbo Assembler 5.0. For many years both of these products were sold even though active development stopped on them. With Borland's reorganization of their development tools as
CodeGear
CodeGear is a wholly owned division of Embarcadero Technologies. CodeGear develops software development tools such as the Delphi Integrated development environment, the programming language Delphi, and the database server InterBase. Originall ...
, all references to Borland C++ and Turbo Assembler vanished from their web site. The debuggers in later products such as
C++Builder
C++Builder is a rapid application development (RAD) environment for developing software in the C++ programming language. Originally developed by Borland, it is owned by Embarcadero Technologies, a subsidiary of Idera. C++Builder can compile ...
and
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), was an ancient sacred precinct and the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient Classical antiquity, classical world. The A ...
are based on the Windows debugger introduced with the first Borland C++ and Pascal versions for Windows.
The final version of Turbo Debugger came with several versions of the debugger program: TD.EXE was the basic debugger; TD286.EXE runs in protected mode, and TD386.EXE is a virtual debugger which uses the TDH386.SYS device driver to communicate with TD.EXE. The TDH386.SYS driver also adds breakpoints supported in hardware by the 386 and later processors to all three debugger programs. TD386 allows some extra breakpoints that the other debuggers of the era do not (I/O access breaks, ranges greater than 16 bytes, and so on). There is also a debugger for
Windows 3
Windows 3.x means either of, or all of the following versions of Microsoft Windows:
* Windows 3.0
* Windows 3.1
Windows NT
* Windows NT 3.x
{{Set index article
Microsoft Windows, 3.x ...
(TDW.EXE).
Remote debugging
In engineering, debugging is the process of finding the root cause, workarounds, and possible fixes for bugs.
For software, debugging tactics can involve interactive debugging, control flow analysis, log file analysis, monitoring at the app ...
was supported.
Reception
''
BYTE
The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable un ...
'' in January 1989 listed Turbo Debugger as among the "Distinction" winners of the BYTE Awards. Praising its ease of use and integration with Turbo Pascal and Turbo C, the magazine described it as "a programmer's
Swiss army knife".
In a February 1989 overview of optimizing C compilers, the magazine described it as "the best source debugger".
Turbo Debugger and emulation
Various versions of Turbo Assembler, spanning from version 1.0 through 5.0, have been reported to run on the
DOSBox
DOSBox is a free and open-source MS-DOS emulator. It supports running programs primarily video games that are otherwise inaccessible since hardware for running a compatible disk operating system (DOS) is obsolete and generally unavailab ...
emulator, which emulates DOS 5.0.
The last DOS release of TD.EXE, version 3.2, runs successfully in the 32-bit
Windows XP
Windows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct successor to Windows 2000 for high-end and business users a ...
NTVDM
Virtual DOS machines (VDM) refer to a technology that allows running 16-bit/32-bit DOS and 16-bit Windows programs when there is already another operating system running and controlling the hardware.
Overview
Virtual DOS machines can operate e ...
(i.e., in a DOS window, invoked with
CMD.EXE
cmd.exe, a.k.a. Command Prompt, is a shell program on later versions of Windows ( NT and CE families), OS/2,, eComStation, ArcaOS, and ReactOS. In some versions of Windows ( CE .NET 4.2, CE 5.0 and Embedded CE 6.0) it is referred to as ...
), but TD286.EXE and TD386.EXE do not. Hardware breakpoints supported by the 386 and later processors are available if TDH386.SYS is loaded by including "
DEVICE=
TDH386.SYS" in a CONFIG.NT file invoked when running TD.EXE.
See also
* CodeView
CodeView is a standalone debugger created by David Norris at Microsoft in 1985 as part of its development toolset. It originally shipped with Microsoft C 4.0 and later. It also shipped with Visual Basic for MS-DOS, Microsoft BASIC PDS, and a num ...
* SoftICE
SoftICE is a kernel mode debugger for DOS and Windows up to Windows XP. It is designed to run underneath Windows, so that the operating system is unaware of its presence. Unlike an application debugger, SoftICE is capable of suspending all oper ...
References
[TurboPower T-Debug Plus 4.0](_blank)
on the Internet Archive
The Internet Archive is an American 501(c)(3) organization, non-profit organization founded in 1996 by Brewster Kahle that runs a digital library website, archive.org. It provides free access to collections of digitized media including web ...
[Run-Time Debugger for Pascal 4.0](_blank)
InfoWorld
''InfoWorld'' (''IW'') is an American information technology media business. Founded in 1978, it began as a monthly magazine. In 2007, it transitioned to a Web-only publication. Its parent company is International Data Group, and its sister pu ...
, 1988-03-21
[Advertisement for Turbo Debugger](_blank)
/ref>
[C++Builder product page](_blank)
[{{Cite magazine , date=January 1989 , title=The BYTE Awards , url=https://archive.org/stream/byte-magazine-1989-01/1989_01_BYTE_14-01_PC_Communications_and_Annual_Awards_and_Digitizing_Tablets#page/n371/mode/2up , magazine=]BYTE
The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable un ...
, page=338
Further reading
* Most of the information is documented in files supplied with Turbo Debugger, in particular "TURBO DEBUGGER TIPS AND HINTS", HELPME!.TD and "USING THE HARDWARE DEBUGGING FEATURES", HDWDEBUG.TD.
Borland software
Assemblers
Debuggers