Turbo Debugger (TD) — отладчик машинного уровня для исполняемых файлов DOS , предназначенный в основном для отладки программ Borland Turbo Pascal и более поздних Turbo C, продаваемых Borland . Это полноэкранный отладчик, отображающий как исходный код Turbo Pascal или Turbo C, так и соответствующие инструкции на языке ассемблера, с мощными возможностями для установки точек останова, наблюдения за выполнением инструкций, мониторинга регистров машины и т. д. Turbo Debugger можно использовать для программ, не сгенерированных компиляторами Borland, но без отображения исходных операторов; это ни в коем случае не единственный отладчик, доступный для исполняемых файлов сторонних разработчиков, и не является значимым отладчиком общего назначения.
Хотя в Turbo Pascal компании Borland имеются полезные возможности пошагового выполнения и условных точек останова, потребность в более мощном отладчике стала очевидной, когда Turbo Pascal начал использоваться для серьезной разработки.
Первоначально отдельная компания TurboPower Software выпустила отладчик T-Debug, а также Turbo Analyst и Overlay Manager для Turbo Pascal для версий 1–3. TurboPower выпустила T-Debug Plus 4.0 для Turbo Pascal 4.0 в 1988 году [1] , но к тому времени был анонсирован Turbo Debugger от Borland. [2]
Оригинальный Turbo Debugger продавался как отдельный продукт, представленный в 1989 году [3] вместе с Turbo Assembler и второй версией Turbo C.
Чтобы использовать Turbo Debugger с отображением исходного кода, программы или соответствующие части программ должны быть скомпилированы с помощью Turbo Pascal или Turbo C с установленной условной директивой для добавления отладочной информации в скомпилированный исполняемый файл с соответствующими исходными операторами и соответствующим машинным кодом. Затем можно запустить отладчик (Turbo Debugger не отлаживает в среде разработки IDE). После отладки программу можно перекомпилировать без отладочной информации, чтобы уменьшить ее размер.
Позже Turbo Debugger, автономный Turbo Assembler (TASM) и Turbo Profiler были включены в компиляторы в профессиональных версиях Borland Pascal и Borland C++ более ограниченных наборов Turbo Pascal и Turbo C++ для DOS. После того, как популярность Microsoft Windows завершила эру разработки программного обеспечения для DOS, Turbo Debugger был связан с TASM для низкоуровневой разработки программного обеспечения. В течение многих лет после окончания эры DOS Borland поставляла Turbo Debugger с последней консольной средой разработки приложений Borland C++, версии 5, и с Turbo Assembler 5.0. В течение многих лет оба этих продукта продавались, несмотря на то, что активная разработка для них прекратилась. С реорганизацией Borland своих инструментов разработки в CodeGear все ссылки на Borland C++ и Turbo Assembler исчезли с их веб-сайта. Отладчики в более поздних продуктах, таких как C++Builder [4] и Delphi, основаны на отладчике Windows, представленном в первых версиях Borland C++ и Pascal для Windows.
Финальная версия Turbo Debugger поставлялась с несколькими версиями программы отладчика: TD.EXE был базовым отладчиком; TD286.EXE работает в защищенном режиме, а TD386.EXE — это виртуальный отладчик, который использует драйвер устройства TDH386.SYS для связи с TD.EXE. Драйвер TDH386.SYS также добавляет точки останова, поддерживаемые аппаратно процессорами 386 и более поздними, ко всем трем программам отладчика. TD386 допускает некоторые дополнительные точки останова, которых нет в других отладчиках той эпохи (остановки доступа к вводу-выводу, диапазоны больше 16 байт и т. д.). Также есть отладчик для Windows 3 (TDW.EXE). Поддерживалась удаленная отладка .
В 1989 году BYTE включил Turbo Debugger в число победителей премии BYTE Awards в категории «Distinction». Отмечая простоту использования и интеграцию с Turbo Pascal и Turbo C, журнал назвал его « швейцарским армейским ножом программиста ». [5]
Сообщается [ кем? ], что различные версии Turbo Assembler, от 1.0 до 5.0, работают на эмуляторе DOSBox , который эмулирует DOS 5.0.
Последняя версия DOS TD.EXE, версия 3.2, успешно работает в 32-битной Windows XP NTVDM (т. е. в окне DOS, вызываемом с помощью CMD.EXE ), но TD286.EXE и TD386.EXE — нет. Аппаратные точки останова, поддерживаемые процессорами 386 и более поздними, доступны, если TDH386.SYS загружен путем включения " DEVICE =<path>TDH386.SYS" в файл CONFIG.NT, вызываемый при запуске TD.EXE.