ВВЕДЕНИЕ


     Turbo Debugger  -  это  современный  отладчик,   позволяющий
отлаживать программы на уровне исходного текста и предназначенный
для программистов,  работающих на языках  семейства  Turbo  фирмы
Borland,  и  для  программистов,  работающих  на  других языках и
желающих иметь более мощную среду отладки.

     Многочисленные перекрывающие  друг  друга  окна,   а   также
сочетание   спускающихся   и   раскрывающихся  меню  обеспечивают
быстрый, интерактивный пользовательский интерфейс. Интерактивная,
контекстнозависимая система подсказки обеспечит вас подсказкой на
всех стадиях работы.

     Ниже перечислены лишь  некоторые  свойства  отладчика  Turbo
Debugger.

     - использование  расширенной  памяти  типа  EMS  для отладки
       больших программ;

     - вычисление любых выражений языка Си, Паскаль и ассемблера;

     - настраиваемое размещение информации на экране;

     - доступ к ассемблеру и процессору по мере необходимости;

     - мощные средства использования  точек  останова  и  журнала
       регистрации;

     - запись нажатий клавиш (макросы);

     - использование  удаленной системы для отладки очень больших
       программ;

     - поддержка процессора 80386 и аппаратных отладчиков;

     - полная поддержка объекто-ориентированного программирования
       на Turbo Pascal 5.0;

     - полная поддержка C++ и Turbo C++;

     - возможности   отладки  резидентных  программ  и  драйверов
       устройств.

Требования к аппаратному и программному обеспечению

     Отладчик может  работать  на  компьютерах  семейства IBM PC,
включая серии XT,  AT и PS/2,  а также  полностью  совместимых  с
ними.  Компьютер  должен  работать  под  управлением операционной
системы DOS версии 2.0 или более поздней и иметь как  минимум 384
КБ оперативной памяти. Компьютер может быть оснащен любым цветным
или монохромным монитором,  поддерживающим режим отображения в 80
столбцов. Мы рекомендуем использовать компьютер с жестким диском,
хотя отладчик хорошо работает и на машине с двумя накопителями на
гибких дисках,  но для этого следует использовать дискеты высокой
плотности.  Можно также работать  с  3.5-дюймовыми  дискетами  по
720К.  Следует отметить, что программа INSTALL в последнем случае
неприменима,   и   копирование   файлов    требуется    выполнять
самостоятельно.

     Turbo Debugger   не  требует  использования  арифметического
сопроцессора 8087.

     Для того  чтобы   использовать   отладчик   Turbo   Debugger
совместно   с   другими   продуктами  фирмы  Borland,  вы  должны
использовать систему Turbo Pascal версии 5.0 или  более  поздней,
систему  Turbo  C  версии  2.0  или Turbo C++,  или систему Turbo
Assembler версии 1.0 или  более  поздней.  Прежде  чем  загружать
программу в отладчик Turbo Debugger, необходимо скомпилировать ее
исходный текст в исполняемый файл типа EXE в  режиме формирования
полной отладочной информации.

     При запуске  отладчика  необходимо,  чтобы были доступны как
исполняемый файл, так и файлы с исходным текстом программы. Turbo
Debugger   ищет  исходные  файлы  сначала  там,  где  их  находил
компилятор при компиляции программы, затем в директории, заданной
командой Options/Path for Source,  затем в текущей директории,  а
затем в директории, где находится файл типа EXE.

Замечания по терминологии

     Для удобства  и  краткости  изложения  несколько  терминов в
данном руководстве  используется  в  более  широком  смысле,  чем
обычно. К ним относятся термины "модуль", "функция" и "аргумент".

     Термин "модуль"  в  данном руководстве обозначает эквивалент
модуля (module) Си или ассемблера или (unit) Паскаля.

     Термин "функция" в данном  руководстве  означает  функцию  в
языке Си и то,  что в языке Паскаль называется подпрограммой,  то
есть  охватывает  процедуры,  функции  и  объекто-ориентированные
правила.  В  языке  Си функция может возвращать значение (так же,
как и функция в Паскале), но может и не возвращать (как процедура
в  Паскале).  (В  Си  функция,  которая  не  возвращает значения,
называется  пустой  функцией).  Для  краткости  изложения  термин
"функция"  часто  используется  для обозначения как функций языка
Си,  так и функций и процедур языка Паскаль,  конечно,  кроме тех
разделов руководства, которые посвящены конкретным языкам.

     Термин "аргумент"  используется  в  данном  руководстве  как
синоним термина "параметр". Он означает как аргументы (параметры)
командной  строки,  так  и аргументы (параметры),  передаваемые в
процедуры и функции.

Состав данного руководства

     Ниже приведено краткое описание содержания глав и приложений
данного руководства.

     В главе 1 "Начало работы" описано  содержимое дистрибутивных
дискет и сообщается, как записать файлы системы Turbo Debugger на
свой компьютер.  Даются также рекомендации,  какую  главу  читать
следующей, в зависимости от начального уровня знаний.

     В главе 2 "Отладка и Turbo Debugger" описан пользовательский
интерфейс  отладчика  Turbo   Debugger,   система   меню,   окна,
объясняется,  как  отвечать  на  запросы отладчика и сообщения об
ошибках.

     В главе 3  "Короткий  пример"  рассмотрен  образец  отладки,
который   проведет   вас   по  всему  сеансу  отладки  программы,
написанной либо на Си, либо на Паскале, и продемонстрирует многие
полезные возможности отладчика Turbo Debugger.

     В главе  4 "Запуск отладчика Turbo Debugger" рассказано, как
запустить отладчик из командной строки DOS, для чего используются
параметры  командной  строки  и  как  записать часто используемые
параметры в файл конфигурации.

     В главе  5  "Управление  процессом   выполнения   программы"
демонстрируются  различные  способы запуска и останова программы,
показывается,  как начать новый  сеанс  отладки  или  возобновить
последний сеанс.

     В главе 6 "Проверка и модификация данных" описаны уникальные
возможности отладчика Turbo Debugger по  проверке  и  модификации
данных внутри отлаживаемой программы.

     В главе  7  "Точки  останова"  объясняется  концепция "точки
останова",  охватывающая  функции   отладчика,   которые   обычно
называют   точками  останова,  точками  слежения  и  контрольными
точками. Описаны как условные так и безусловные точки останова, а
также  действия,  которые  могут  выполняться при включении точки
останова.

     В главе 8  "Проверка  и  модификация  файлов"  описано,  как
проверять  и  модифицировать  исходные  файлы  программ,  а также
произвольные дисковые файлы,  содержащие  как  текстовые,  так  и
двоичные данные.

     В главе   9   "Выражения"   описаны  синтаксические  правила
построения выражений языков  Си,  Паскаль  и  ассемблер,  которые
воспринимаются   отладчиком   Turbo  Debugger,  а  также  символы
управления форматом,  которые используются  для  задания  формата
отображения на экране значений выражений.

     В главе  10 "Отладка С++ и объекто-ориентированного Паскаля"
рассматриваются специальные   средства   отладчика,   позволяющие
просматривать объекты программ на языке Turbo Pascal 5.5 и классы
программ на языке Turbo С++.

     В главе 11 "Отладка на уровне ассемблера"  описывается,  как
просматривать  содержимое  областей  памяти  в  виде  построчного
шестнадцатиричного  дампа  и  изменять  его,   как   использовать
встроенный  ассемблер  и  дизассемблер,  как проверять и изменять
состояние регистров и флагов процессора.

     В главе 12  "Сопроцессор  80х87  и  эмулятор"  описано,  как
проверять  и  модифицировать  содержимое регистров сопроцессора и
состояние его эмулятора.

     В главе 13 "Справочник  команд  отладчика"  приведен  полный
перечень  всех  команд главного меню и команд локальных меню всех
видов окон.

     В главе  14  "Как  отлаживать  программу"  описана  методика
эффективной отладки программ.

     В главе  15  "Виртуальная  отладка  на  машине с процессором
80386" объясняется,  как  использовать  преимущества  расширенной
памяти    и   производительности   процессора   80386,   позволяя
отлаживаемой программе использовать полное  адресное пространство
ниже 640К, как если бы не был загружен отладчик.

     В главе  16  "Отладка  в защищенном режиме при помощи TD286"
описано, как использовать TD286  для  запуска  Turbo  Debugger  в
защищенном режиме6   освобождая   память   для   отладки  больших
программ.

     В главе  17  "Отладка  резидентных  программ   и   драйверов
устройств" объясняется,  как отлаживать при помощи Turbo Debugger
резидентные программы    и    программы,    которые    становятся
резидентными при загрузке,  а также как загружать вручную таблицу
символических имен.

     В приложении  А  "Параметры   командной   строки"   приведен
перечень  всех  параметров  командной  строки,  которые  подробно
описаны в главе 4.

     В приложении B "Технические  замечания"  приведены  сведения
для  опытных программистов.  В ней описаны подробности реализации
отладчика,  которые   объясняют,   как   он   взаимодействует   с
отлаживаемой программой и операционной системой DOS.

     В приложении    C   "Зарезервированные   слова   встроенного
ассемблера" приведены  все  мнемонические  обозначения  команд  и
специальные  слова,  которые  используются  при  вводе команд для
процессоров 8086/80286.

     В приложении  D   "Настройка   отладчика   Turbo   Debugger"
объясняется,  как  использовать  программу  TDINST  для настройки
экранных цветов и изменения параметров отладчика, используемых по
умолчанию.


     В приложении E "Удаленная отладка" описано,  как  использать
утилиту TDREMOTE   для   отладки   при   помощи  Turbo  Debugger,
находящегося на одной системе,  программы,  находящейся на другой
системе.

     В приложении  F  "Блоки  диалога  и  сообщения  об  ошибках"
описаны  все  запросы  и  сообщения  об  ошибках,  которые  можно
получить  во  время отладки,  приведены рекомендации,  как на них
отвечать.

     В приложении П "Отладка программ на  разных  языках"  даются
некоторые  рекомендации  по  отладке программ,  написанных на Си,
Паскале и ассемблере.

     В "Глоссарии"  приведен  в   алфавитном   порядке   перечень
терминов,  наиболее  часто  используемых в данном руководстве,  и
дано их краткое определение.

Как обратиться за помощью к фирме Borland
-----------------------------------------------------------------

     Лучший способ  обратиться  к  Borland  состоит в том,  чтобы
зарегистрировать свою заявку через  сеть  CompuServe:  для  этого
наберите в  главном меню CompuServe GO BOR и выберите из главного
меню Borland пункт "Borland Programming Forum  B  (Turbo  Prolog,
Turbo Assembler,  Turbo Debugger, & Turbo C). Передайте туда ваши
вопросы и комментарии для последующего их рассмотрения персоналом
сопровождения фирмы.

     Если вы предпочитаете обращаться письменно,  напишите письмо
и отправьте его по адресу

   Borland International
   Technical Support Department - Turbo Debugger
   1800 GREEN HILLS ROAD
   P.O.BOX 660001
   SCOTTS VALLEY,CA 95066-0001, USA

408-438-5300 - по этому телефону можно  обратиться  в  наш  отдел
технического обслуживания.   Прежде  чем  позвонить,  подготовьте
следующую информацию:

     1. Имя  продукта  и  серийный   номер   вашей   оригинальной
дистрибутивной дискеты. Этот номер обязателен, иначе мы не сможем
обслужить вашу заявку.

     2. Номер версии вашего продукта. Номер версии Turbo Debugger
выводится на дисплей после исходной загрузки программы,  до того,
как вы нажмете какие-либо клавиши.  Если вы находитесь в  системе
Turbo Debugger, выберите пункт About из меню System.

     3. Семейство   и   модель   компьютера,   а   также   любого
используемого вами дополнительного аппаратного обеспечения.

     4. Название и  номер  версии  операционной  системы.  (Номер
версии можно определить, введя по приглашению DOS команду VER).

     5. Содержимое вашего файла AUTOEXEC.BAT.

     6. Содержимое вашего файла CONFIG.SYS.

Рекомендуемая литература
-----------------------------------------------------------------

     Многие издательства поддерживают  продукты  Borland  широким
выбором замечательных книг по этим продуктам,  от предназначенных
для начинающих  пользователей,  и  кончая  предназначенными   для
опытных специалистов.    Ниже   приводится   несколько   названий
книг, содержащих дополнительную информацию по Turbo Debugger:

     Ackerman,Charles. Turbo Debugger and Tools:  A Self-Teaching
Guide, John Wiley and Sons (New York:1990).

     Swan,Tom. Mastering  Turbo Assembler,  Howard W.Sams and Co.
(Carmel,IN: 1989).

     Swan,Tom. Mastering Turbo Debugger and Tools,  Howard W.Sams
and Co. (Carmel,IN: 1990).

     Syck,Gary. The  Waite Group's Turbo Assembler Bible,  Howard
W.Sams and Co. (Carmel,IN: 1990).

