| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
вили точку останова, но она не достигается.
Клавиши Ctrl-Break
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Это сочетание клавиш почти всегда прерывает вашу программу и
возвращает управление отладчику. Эти клавиши действуют, как толь-
ко будут нажаты, поэтому вы иногда можете оказаться в непредви-
денной части кода. Это может быть ПЗУ клавиатуры базовой системы
ввода-вывода, если ваша программа ожидает нажатия клавиши, или
любая инструкция в выполняемом цикле. Клавиши Ctrl-Break не могут
отменить следующие два условия (и если возникнет одно из них, вам
придется перезагрузить систему):
- вы попали в цикл, когда запрещены прерывания;
TDeb 3.0 #1-3 = 136 =
- произошел сбой системы из-за выполнения ошибочного кода.
Если вы отлаживаете программу, которая сама должны обрабаты-
вать клавиши Ctrl-Break, вы можете сменить клавишу прерывания.
Для этого можно воспользоваться программой TDINST. Значение кла-
виши прерывания можно присвоить любой обычной клавише (она будет
действовать в сочетании с клавишей Ctrl).
Завершение работы вашей программы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Когда ваша программа завершает работу, и вы из нее выходите,
отладчик снова получает управление. Он выводит сообщение, показы-
вающее код завершения вашей программы, который будет возвращаться
в DOS. Когда ваша программа завершила работу, до ее перезагрузки
с помощью команды RunіProgram Reset (ВыполнениеіСброс программы)
вы не можете воспользоваться ни одной из команд меню Run (Выпол-
нение).
Когда ваша программа завершила работу, сегментные регистры и
стек обычно имеют некорректные значения, поэтому не анализируйте
и не модифицируйте значения переменных после завершения програм-
мы.
Возобновление сеанса отладки
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В Турбо отладчике имеется несколько средств, позволяющих по
возможности гладко возобновить сеанс отладки. При отладке прог-
раммы легко забрести слишком далеко и проскочить ошибку. При этом
лучше возобновить отладку и приостановить выполнение не несколько
команд раньше (до ошибки).
В большинстве отладчиков для этого приходится вводить слиш-
ком длинную последовательность команд. В Турбо отладчике же име-
ется мощное средство, позволяющее фиксировать нажатия клавиш во
время сеанса отладки (вести протокол), а затем "проигрывать" все
заново по вашему запросу.
Турбо отладчик также позволяет вам перезагрузить программу с
диска с теми же аргументами командной строки.
Перезагрузка программы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Чтобы перезагрузить отлаживаемую программу, используйте ко-
манду RunіProgram Reset (ВыполнениеіСброс программы). Турбо от-
ладчик перезагружает программу с диска со всеми данными, которые
вы могли добавить с момента последнего сохранения на диске. Это
наиболее надежный способ перезапуска программы. Возобновление пу-
тем выполнения с начала программы рискованно, так как многие
программы ожидают инициализации данных с образа программы на дис-
TDeb 3.0 #1-3 = 137 =
ке.
Заметим, что команда Program Reset (Сброс программы) остав-
ляет точки останова и выражения просмотра в неприкосновенности.
Запись нажатий клавиш в макрокоманду и повторная их отработка
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Для записи часто используемой последовательности клавиш вы
можете использовать специальное макросредство - клавиатурную мак-
рокоманду. При отладке для достижения определенного места в прог-
рамме часто повторяется одна и та же последовательность команд.
Это может быть довольно утомительным.
Чтобы обойти данную проблему, вы можете определить клавиа-
турную макрокоманду, которая будет фиксировать все клавиши, нажи-
маемые вами с момента, когда вы запускаете отладчик и до того
момента, когда вы подошли к нужному месту программы. В этом месте
вы можете приостановить запись клавиш. Если вы захотите вернуться
к данному месту программы, все, что для этого требуется - это
просто повторная отработка клавиатурной макрокоманды (нажатий
клавиш).
Этот метод нельзя, однако, использовать для записи клавиш,
которые требуется нажимать при работе с вашей программой. Вы мо-
жете записывать только командные клавиши Турбо отладчика.
Первое, что вы должны сделать после запуска Турбо отладчика
из DOS для записи всего сеанса отладки, - это определение клавиа-
турной макрокоманды. Для этого нужно выбрать команду
OptionsіMacrosіCreate (ПараметрыіМакрокомандыіСоздание). Вам вы-
ведется подсказка с запросом нажать клавишу, которой будет прис-
воена макрокоманда. Выберите клавишу, которой еще не присвоена
функция, например Shift, и одну из функциональных клавиш, скажем,
Shift-F1. Теперь выполняйте вашу программу до момента ошибки.
Примечание: Не используйте для завершения макрокоманды
команду MacrosіStop Recording (МакрокомандыіОстановить за-
пись).
В этой точке завершите запись макрокоманды, нажав клавиши
Alt-минус (или клавишу, которой вы присваиваете макрокоманду).
Теперь сохраните макрокоманду на диске с помощью команды Optionsі
Save Recording (ПараметрыіСохранить запись). Продолжите выполне-
ние вашей программы. После сбоя вашей программы и ее перезагрузки
с Турбо отладчиком для возобновления программы можно просто на-
жать клавиши Shift-F9.
Если в вашей программе для того, чтобы перейти к нужно части
кода, нужно что-то вводить, вам придется вводить это вручную. (Вы
можете сделать это во время работы макрокоманды.) Для программ,
не требующих ввода, механизм записи клавиш позволяет автоматизи-
ровать процедуру возобновления полностью.
TDeb 3.0 #1-3 = 138 =
Когда макрокоманда сохраняется в файле конфигурации, сохра-
няется конфигурация полного окружения, включая открытые окна и
окна с измененным (переключенным) размером. Таким образом, если
вы записали макрокоманду, которая открывает окно и не закрывает
его перед сохранением макрокоманды, то когда вы в следующий раз
восстановите файл конфигурации, окно будет открыто автоматически,
даже если вы не выполнили макрокоманду.
TDeb 3.0 #1-3 = 139 =
Загрузка новой программы для отладки
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Новую программу для отладки можно загрузить с помощью коман-
ды FileіLoad (ФайліЗагрузка). Вы можете использовать трафаретные
символы DOS для вывода списка файлов для выбора, либо ввести имя
конкретного файла. Если в ответ на подсказку вы нажмете клавишу
Enter, то выведется список всех файлов .EXE в текущем каталоге.
Переместите подсветку на имя того файла, который вы хотите загру-
зить, и нажмите Enter.
Й[*]НННННННННННННННEnter program to loadННННННННННННН»
є File name є
є°*.exe°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° OK є
є ±±±±±± є
є Files Directories Cancel є
є bildsp.exe pepper ±±±±±± є
є donothih.exe td Help є
є dototal.exe tdold ±±±±±± є
є drwhappy.exe є
є echo.exe є
є hello.exe є
є tittle.exe є
є mytest.exe є
є pwrs.exe є
є reserve.exe є
є small.exe є
є tcdemo.exe є
є є
єG:\NETFILES\DEBUG\PROGRAM\*.EXE є
єBILDSP.EXE Feb 19,1988 2:23pm 4592 bytes є
ИННННННННННННННННННННННННННННННННННННННННННННННННННННј
Рис. 5.7 Диалоговое окно Load Program (Загрузка программы)
Enter program name to load - введите имя программы для заг-
рузки; File name - имя файла; Files - файлы; Directories - ката-
логи; OK - выбор; Cancel - отмена; Help - справка.
Если вы вводите имя файла, который требуется загрузить, то
подсветка перемещается к имени файла, которое начинается с первой
введенной вами буквы (букв). Когда подсветка позиционируется на
нужный файл, нажмите клавишу Enter.
Передать аргументы отлаживаемой программе можно, поместив их
после имени программы, также, как вы делаете это в ответ на подс-
казку DOS, например:
myprog a b c
При этом загрузится программа MyProg с тремя аргументами ко-
мандной строки (a, b и c).
TDeb 3.0 #1-3 = 140 =
Изменение аргументов программы
|
adfun.ru
|
|
|
|