Turbo Debugger (TD) is a machine-level debugger for DOS executables, intended mainly for debugging Borland Turbo Pascal, and later Turbo C programs, sold by Borland. 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 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, [1] but by then Borland's Turbo Debugger had been announced. [2]
The original Turbo Debugger was sold as a stand-alone product introduced in 1989, [3] along with Turbo Assembler and the second version of Turbo C.
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 (TASM), and Turbo Profiler were included with the compilers in the professional Borland Pascal and Borland C++ versions of the more restricted Turbo Pascal and Turbo C++ suites for DOS. After the popularity of Microsoft Windows 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, all references to Borland C++ and Turbo Assembler vanished from their web site. The debuggers in later products such as C++Builder [4] and Delphi 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 (TDW.EXE). Remote debugging was supported.
BYTE 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". [5] In a February 1989 overview of optimizing C compilers, the magazine described it as "the best source debugger". [6]
Various versions of Turbo Assembler, spanning from version 1.0 through 5.0, have been reported[ by whom? ] to run on the DOSBox emulator, which emulates DOS 5.0.
The last DOS release of TD.EXE, version 3.2, runs successfully in the 32-bit Windows XP NTVDM (i.e., in a DOS window, invoked with CMD.EXE), 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=<path>TDH386.SYS" in a CONFIG.NT file invoked when running TD.EXE.
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. Borland was first headquartered in Scotts Valley, California, then in Cupertino, California, and then in Austin, Texas. In 2009, the company became a full subsidiary of the British firm Micro Focus International plc. In 2023, Micro Focus was acquired by Canadian firm OpenText, which later absorbed Borland's portfolio into its application delivery management division.
Pascal is an imperative and procedural programming language, designed by Niklaus Wirth as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named after French mathematician, philosopher and physicist Blaise Pascal.
Turbo Pascal is a software development system that includes a compiler and an integrated development environment (IDE) for the programming language Pascal running on the operating systems CP/M, CP/M-86, and MS-DOS. It was originally developed by Anders Hejlsberg at Borland, and was notable for its very fast compiling. Turbo Pascal, and the later but similar Turbo C, made Borland a leader in PC-based development tools.
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, comprehensive manuals and low price.
PowerBASIC, formerly Turbo Basic, is the brand of several commercial compilers by PowerBASIC Inc. that compile a dialect of the BASIC programming language. There are both MS-DOS and Windows versions, and two kinds of the latter: Console and Windows. The MS-DOS version has a syntax similar to that of QBasic and QuickBASIC. The Windows versions use a BASIC syntax expanded to include many Windows functions, and the statements can be combined with calls to the Windows API.
A terminate-and-stay-resident program is a computer program running under DOS that uses a system call to return control to DOS as though it has finished, but remains in computer memory so it can be reactivated later. This technique partially overcame DOS's limitation of executing only one program, or task, at a time. TSRs are used only in DOS, not in Windows.
The Windows API, informally WinAPI, is the foundational application programming interface (API) that allows a computer program to access the features of the Microsoft Windows operating system in which the program is running.
Bytecode is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references that encode the result of compiler parsing and performing semantic analysis of things like type, scope, and nesting depths of program objects.
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 number of other Microsoft language products. It was one of the first debuggers for MS-DOS to be full-screen oriented, rather than line-oriented.
Object Pascal is an extension to the programming language Pascal that provides object-oriented programming (OOP) features such as classes and methods.
Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, with exception clauses that allow static linking against its runtime libraries and packages for any purpose in combination with any other software license.
Turbo Assembler 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 or Microsoft Windows. It can be used with Borland's other language products: Turbo Pascal, Turbo Basic, Turbo C, and Turbo C++. The Turbo Assembler package is bundled with Turbo Linker and is interoperable with Turbo Debugger.
Borland Kylix is a compiler and integrated development environment (IDE) formerly sold by Borland, but later discontinued. It is a Linux software development environment based on Borland Delphi and Borland C++ Builder, which runs under Microsoft Windows. Continuing Delphi's classical Greek theme, Kylix is the name for an ancient Greek drinking cup. The closest supported equivalent to Kylix is the free Lazarus IDE package, designed to be code-compatible with Delphi. As of 2010 the project has been resurrected in the form of Delphi cross compiler for Mac and Linux, as shown in the Embarcadero's Delphi and C++ Builder roadmap. As of September 2011 with Kylix discontinued the framework for cross-platform development by Embarcadero is FireMonkey.
The Microsoft Macro Assembler (MASM) is an x86 assembler that uses the Intel syntax for MS-DOS and Microsoft Windows. Beginning with MASM 8.0, there are two versions of the assembler: One for 16-bit & 32-bit assembly sources, and another (ML64) for 64-bit sources only.
A DOS extender is a computer software program running under DOS that enables software to run in a protected mode environment even though the host operating system is only capable of operating in real mode.
Microsoft Pascal is a discontinued implementation of the Pascal programming language developed by the Microsoft Corporation for compiling programs for running on its MS-DOS and Xenix operating systems and, in later versions, on OS/2.
Turbo C++ is a discontinued C++ compiler and integrated development environment originally from Borland. It was designed as a home and hobbyist counterpart for Borland C++. As the developer focused more on professional programming tools, later Turbo C++ products were made as scaled down versions of its professional compilers.
Borland C++ was a C and C++ IDE 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 mode DOS.
The Borland Graphics Interface, also known as BGI, was a graphics library bundled with several Borland compilers for the DOS operating systems since 1987. BGI was also used to provide graphics for many other Borland products including the Quattro Pro spreadsheet.
This page details the history of the programming language and software product Delphi.