| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
И действием, которое будет выполняться при достижении точки
останова, и условием, при котором она срабатывает, можно управ-
лять с помощью задаваемого вами выражения. Это выражение вычисля-
ется с использованием области действия адреса, где установлена
точка останова, а не той области действия, где в данный момент
остановилась программа. Это означает, что в вашем выражении для
точки останова могут использоваться только имена переменных, ко-
торые являются допустимыми в том месте программы, где задана точ-
ка останова (если эта область действия не переопределена). Пол-
ностью область действия обсуждается в Главе 9.
Если вы хотите установить точку останова для выражения в мо-
дуле, который в данный момент не загружен отладчиком, и Турбо от-
ладчик не может найти данное выражение, то вы можете переопреде-
лить область действия и задать файл, который содержит выражение,
или использоваться для смены модулей команду ViewіModule (Об-
зоріМодуль).
Если вы используете переменные, являющиеся по отношению к
подпрограмме локальными, то такие точки останова обрабатываются
гораздо медленнее, чем те, в которых используются только глобаль-
ные или локальные по отношению к модулю переменные.
TDeb 3.0 #1-3 = 191 =
Аппаратные точки останова
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Аппаратная точка останова использует поддерживающие средства
аппаратной отладки (плату аппаратной отладки или отладочные ре-
гистры процессора 80386 или старше). Если в вашей системе уста-
новлены средства аппаратной отладки (команда FileіGet Info пока-
зывает установку Breakpoints в Hardware), то с помощью одного из
следующих методов вы можете задать аппаратную точку останова:
- Выберите команду BreakpointsіChanged Memory Global, кото-
рая чаще всего используется для аппаратных точек останова.
- Выберите команду BreakpointsіHardware.
- Выведите меню Breakpoint Options (выберите команду окна
ViesіBreakpoints BreakpointsіAt или Set Options), затем
сделайте следующее:
- проверьте переключатель Global;
- активизируйте "кнопку" Change (Изменение)ж
- в диалоговом окне Conditions and Actions выберите се-
лективный переключатель Hardware (Аппаратная) и акти-
визируйте "кнопку" Hardware диалогового окна;
- для вывода диалогового окна Hardware Breakpoint
Options (Параметры аппаратной точки останова) активи-
зируйте "кнопку" Hardware;
- выберите в диалоговом окне нужный параметр (параметры
описываются в текстовом файле HDWDEBUG.TD).
Регистрация значений переменных
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Иногда может оказаться полезным регистрировать значения оп-
ределенных переменных каждый раз, когда вы достигаете определен-
ного места программы. Вы можете регистрировать значение любого
выражения, включая, например, значения параметров при вызове
функции. Просматривая регистрацию при каждом вызове функции, вы
можете определить, когда эта функция вызывается с неверными пара-
метрами.
TDeb 3.0 #1-3 = 192 =
Выберите селективный переключатель Log (Регистрация) диало-
гового окна Breakpoint Options (Параметры точки останова). В от-
вет на выводимую подсказку введите выражение, значение которого
должно регистрироваться при каждом срабатывании точки останова.
Если вы хотите регистрировать значение нескольких переменных,
нужно установить несколько точек останова.
Примечание: При регистрации выражений нужно учитывать
побочные эффекты.
TDeb 3.0 #1-3 = 193 =
Точки останова и шаблоны
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Турбо отладчик поддерживает шаблоны C++. Точки останова ус-
танавливаются по-разному, в зависимости от использования F2 в ок-
не Module, в окне CPU или задании их с помощью диалогового окна
Breakpoint Options.
Точки останова и классы шаблонов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Для задания точек останова в шаблонах имеется несколько ме-
тодов:
- Если вы установили точку останова в самом шаблоне, нажав
клавишу F2 при нахождении курсора в строке исходного кода
шаблона в окне Module, точки останова устанавливаются во
всех экземплярах классов этого шаблона. Это средство поз-
воляет вам отлаживать все поведение шаблона.
- Если вы установили точку останова в шаблоне, нажав клавиши
Alt-F2 для вывода диалогового окна Breakpoint Options (Па-
раметры точки останова), то ввод в окне Module адреса вы-
ражения шаблона выводит диалоговое окно, позволяющее вам
выбрать экземпляр класса, для которого вы хотите устано-
вить точку останова.
Вы можете удалить точку останова шаблона точно так же, как
удаляете любую другую точку останова - позиционировавшись в окне
Module подсвеченную строку на шаблон и нажав клавишу F2 или ис-
пользуя команду удаления окна Breakpoint. При этом удаляются так-
же точки останова соответствующего экземпляра класса.
Если вы позиционируетесь на точке останова в экземпляре
класса в окне CPU и нажмете клавишу F2, то удаляется только точка
останова для данного экземпляра класса.
TDeb 3.0 #1-3 = 194 =
Точки останова в шаблонах функций
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Вы можете устанавливать и отменять точки останова для шабло-
нов функций точно также, как это делается для шаблонов классов.
При этом используются два метода - нажатие клавиши F2 или исполь-
зование диалогового окна Breakpoint Options. Они имеют для эк-
земпляров функций тот же эффект, что и для экземпляров классов.
Точки останова в шаблонах экземпляров классов и объектов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Аналогично обычным классам и объектам, вы можете установить
точки останова в шаблонах экземпляров классов и объектов.
Окно Log
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Окно Log (Регистрация) можно создать, выбрав команду
ViewіLog (ОбзоріРегистрация). Это окно позволяет вам просмотреть
список значащих событий, которые имели место во время сеанса от-
ладки.
Й[*]НLogНННННННННННННННННННННННННН3НН[ ][ ]НН»
єAt MCINPUT.124 ^
єBreakpoint at TPDEMO.220 І
єBreakpoint at TPDEMO.220 °
єBreakpoint at TPDEMO.220 °
єBreakpoint at TPDEMO.220 °
єBreakpoint at TPDEMO.220 °
єBreakpoint at TPDEMO.220 °
єBreakpoint at TPDEMO.220 °
єWe are now entering procedure Params... °
єBreakpoint±at±TPDEMO.180±±±±±±±±±±±±±±±±±±±±v
И<І°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°>ДЅ
Рис. 7.6 Окно Log
В окне Log (Регистрация) выводится пролистываемый список
строк (вывод в окно). Если зарегистрировано более 50 строк, то
самые старые строки списка теряются. Для настройки числа строк
используйте параметр командной строки при запуске Турбо отладчика
или измените это число с помощью программы установки TDINST. С
помощью команды локального меню Open Log File (Открыть файл ре-
гистрации) можно сохранить всю регистрацию, записывая ее непре-
рывно в файл на диске.
Перечислим, какие причины могут вызвать запись строк в про-
токол регистрации:
- Ваша программа остановилась по заданному адресу. Адрес ее
останова регистрируется.
TDeb 3.0 #1-3 = 195 =
- Вы дали команду локального меню Add Comment (Добавить ком-
ментарий). Выводится подсказка, по которой нужно ввести
комментарий, регистрируемый в протоколе.
- Срабатывает точка останова, которая регистрирует значение
выражения. Это значение помещается в протокол регистрации.
- Вы использовали команду WindowіDump Pane To Log (ОкноіВы-
вод области в протокол регистрации) (из основного меню)
для записи текущего содержимого области окна.
- Вы отлаживаете прикладную программу для Microsoft Windows
и использовали команду ViewіWindows Messages (ОбзоріСооб-
|
adfun.ru
|
|
|
|