| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
несколько условий и действий, каждое из них будет вычисляться в
том порядке, в каком они введены. Если при вычислении условий ис-
тинное значение принимает несколько условий, то будет выполняться
более одного набора действий.
"Кнопка" Delete (Удаление), которая находится под текстовым
полем Condition Expression, позволяет вам удалить из текстового
поля Condition Expression (Выражение условия) текущее подсвечен-
ное выражение. Выберите эту "кнопку", если вы хотите удалить ус-
ловие из набора условий.
Выражение действия
При выборе селективного переключателя Execute (Выполнение),
Enable Group (Разрешение группы) или Disable Group (Запрещение
группы) должен быть предусмотрен набор действий, благодаря кото-
рым Турбо отладчик будет знать, что нужно делать при срабатывании
точки останова. Набор действий может состоять из нескольких дейс-
твий:
Чтобы добавить к точке останова набор действий, сделайте
следующее:
1. Выберите селективный переключатель Execute (Выполнение),
Enable Group (Разрешение группы) или Disable Group (Зап-
рещение группы).
2. Выберите "кнопку" Add (Добавление), которая находится под
текстовым полем Action Expression.
3. Введите действие в текстовое поле Action Expression (Вы-
ражения действия).
Если вы хотите, чтобы при срабатывании точки останова вы-
полнялось несколько действий, повторите шаги 2 и 3, пока
все они не будут добавлены в текстовое поле Action
Expression.
4. Когда вы закончите вводить действия, выберите в диалого-
вом окне Conditions and Actions "кнопку" OK.
Если вы выбрали селективные переключатели Enable Group (Раз-
решение группы) или Disable Group (Запрещение группы), для указа-
ния группы, которую вы ходите разрешить или запретить, просто
введите в текстовое поле Action Expression номер группы.
"Кнопка" Delete (Удаление), которая находится под текстовым
TDeb 3.0 #1-3 = 187 =
полем Action Expression, позволяет вам удалить текущее условие из
набора условий.
Поле ввода Pass Count...
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Поле ввода Pass Count (Счетчик проходов) задает, сколько раз
данное действие должно быть обнаружено перед тем, как оно срабо-
тает. Значение счетчика уменьшается только в том случае, если со-
ответствующее точке останова условие принимает истинное значение.
Это означает, что если наряду с условием установили счетчик про-
ходов, то точка останова сработает, когда условие n-ый раз примет
истинное значение.
TDeb 3.0 #1-3 = 188 =
Настройка точек останова
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Кроме того, что вы можете останавливать свою программу в
конкретной точке, вы можете расширить возможности управления,
обусловив остановку программу выполняемым по точке останова дейс-
твием.
Простые точки останова
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
При первоначальной установки точки останова она имеет назна-
чаемые по умолчанию параметры Always Break. После установки точки
останова выполняемые по ней действия и условия ее срабатывания
можно настроить. Точки останова можно задать несколькими способа-
ми, каждый из них удобно использовать в определенных обстоятель-
ствах.
1. Переместите курсор на нужную строку исходного кода (в ок-
не Module или в области кода окна CPU) и дайте команду
BreakpointsіToggle (Точки остановаіПереключение) или наж-
мите клавишу F2 (можно также щелкнуть кнопкой "мыши").
Если дать эту команду на строке, где уже имеется точка
останова, то эта точка останова будет удалена.
2. Дайте команду локального меню Add (Добавить) в области
списка точек останова окна Breakpoints и введите адрес
кода, по которому вы ходите задать точку останова. Адрес
кода имеет тот же формат, что и формат указателя исполь-
зуемого языка. Подробнее о выражениях рассказывается в
Главе 9.
3. Чтобы установить точку останова на текущей строке в окне
Module, дайте команду BreakpointsіAt (Точки остановаіПо
адресу...).
Глобальные точки останова
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Когда точка останова становится глобальной, Турбо отладчик
будет проверять точку останова на каждой строке исходного кода.
Если набор условий принимает истинное значение, то выполняется
соответствующее действие.
Примечание: Если вы хотите установить аппаратные точки
останова, проверьте переключатель Global.
Поскольку действие отладчика будет выполняться на каждой
строке исходного кода, глобальные точки останова существенно за-
медляют выполнение программы. Используйте глобальные точки оста-
нова осторожно. К ним следует прибегать только в том случае, если
вы хотите точно определить, когда переменная изменяет значение, и
когда становятся истинными некоторые условия, либо когда ваша
TDeb 3.0 #1-3 = 189 =
программа работает с данными.
Примечание: Быстрый способ задания глобальной точки ос-
танова предлагает окно Breakpoints. Подробнее о командах
Changed Memory Global и Expression True Global рассказывает-
ся выше.
Часто глобальные точки останова используются для отслежива-
ния изменения значения элемента данных. В этой ситуации Турбо от-
ладчик проверяет область памяти на изменение после выполнения
каждой строки кода. В качестве альтернативы глобальной точке ос-
танова вы можете задать точку останова, которая отслеживает из-
менение только при достижении определенного оператора. Это намно-
го более эффективно, поскольку существенно число операций Турбо
отладчика, которые он должен выполнять для обнаружения изменения
(в этом случае Турбо отладчику не важно, где изменяется элемент,
а важен сам факт его изменения).
Остановка при изменении объектов данных
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Когда вы хотите определить, где в вашей программе изменяются
определенные объекты данных, сначала с помощью одного из методов,
описанных в предыдущем разделе, установите глобальную точку оста-
нова. Затем можно использовать селективный переключатель Changed
Memory (Измененная память) диалогового окна Conditions and
Actions (Условия и действия). Введите выражение, ссылающееся на
область памяти, которую вы хотите отслеживать и необязательный
счетчик числа отслеживаемых объектов. Общее число байт отслежива-
емой области соответствует произведению размера объекта, на кото-
рое ссылается выражение, на число объектов. Предположим, напри-
мер, что у вас имеется следующий массив Си:
int string[81];
Если вы хотите отследить изменение первого элемента данного
массива, введите в поле ввода Condition Expression следующий эле-
мент:
&sting[0], 10
Наблюдаемая область памяти имеет длину 20 байт, так как зна-
чение int занимает два байта, а вы задали отслеживание 10 байт.
Если точка останова по изменению памяти (Changed Memory) яв-
ляется глобальной, то ваша программа будет выполняться существен-
но медленнее, поскольку область памяти будет проверяться при вы-
полнении каждой строки исходного кода.
Если у вас установлен аппаратный драйвер, Турбо отладчик для
отслеживания изменений в области данных попытается установить ап-
паратную точку останова. Различные аппаратные отладчики поддержи-
вают различное число и типы аппаратных точек останова. Увидеть,
TDeb 3.0 #1-3 = 190 =
используются ли для точки останова аппаратные средства, можно с
помощью окна Breakpoints (Точки останова) и команды Viewі
Breakpoints (ОбзоріТочки останова). Все точки останова, для кото-
рых используются вспомогательные аппаратные средства, будут отме-
чены звездочками (*). Такие точки останова выполняются гораздо
быстрее, чем другие глобальные точки останова, для которых не ис-
пользуются вспомогательные аппаратные средства.
Выражения условия
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Имеется много случаев, когда нежелательно, чтобы точка оста-
нова срабатывала при каждом выполнении определенной строки (опе-
ратора) исходного кода, особенно, когда эта строка выполняется
много раз до того, как встретится интересующий вас случай. Турбо
отладчик предоставляет вам два способа уточнения ситуации, когда
должна срабатывать точка останова: счетчики прохода и условия.
Область действия выражений, заданных для точек останова
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
|
adfun.ru
|
|
|
|