|
Программирование >> Перегруженные имена функций и идентификаторы
Выберите в SpeedMenu команду Set Options. Выводится диалоговое окно Breakpoint Options. Это окно содержит команды, позволяющие модифицировать параметры точек останова. Текущие параметры выбранной точки останова выводятся в блоке списка Conditions and Actions& Чтобы модифицировать условие точки останова и выполняемые по ней действия, щелкните мышью на командной кнопке Change. Выводимое окно Conditions and Actions позволяет вам настроить условия срабатывания точки останова и выполняемые по ней действия. Выберите кнопку с зависимой фиксацией Expression True. По умолчанию условие точек останова устанавливается в Always, то есть они срабатывают каждый раз при обнаружении их в программе. Щелчок мышью на кнопке с зависимой фиксацией Expression True задает активизацию точки останова только после того, как заданное вами выражение станет истинным. В поле ввода Condition Expression введите выражение. Оно будет вычисляться при каждом обнаружении точки останова. Если нужно, задайте для точки останова счетчик проходов Pass Count. Это поле определяет, сколько раз должно удовлетворяться условие точки останова, прежде чем точка останова будет активизирована. По умолчанию он равен 1. Значение счетчика уменьшается при каждом удовлетворении условия. Если вы хотите изменить выполняемое по умолчанию в точке останова действие, щелкните мышью на нужно кнопке с зависимой фиксацией группы Action. Для выхода из окна щелкните мышью на OK или нажмите Esc. Установка точек останова по изменению памяти Эти точки останова отслеживают выражения, при вычислении которых получается объект памяти или адрес. Они активизируются при изменении значения соответствующего объекта данных или указателя памяти. Для установки такой точки останова нужно выполните те же шаги, что и перечисленные выше, но: В диалоговом окне Conditions and Actions вместо Expression True щелкните мышью на кнопке с зависимой фиксацией Changed Memory. В поле ввода Condition True введите выражение, при вычислении которого получается объект памяти или адрес. Когда ваша программа обнаруживает строку с такой точкой останова, условное выражение вычисляется перед выполнением этой строки. Это нужно учитывать. При вводе выражения вы можете также ввести счетчик числа отслеживаемых объектов. Общее число отслеживаемых байт памяти равно произведению размеру объекта, на которое ссылается выражение, на счетчик объекта. Установка глобальных точек останова Эти точки останова являются по существую точками останова двух описанных выше типов, но отслеживаются они непрерывно в течении всего периода выполнения программы. Так как Turbo Debugger проверяет такие точки останова после выполнения каждой инструкции или строки исходного кода, они являются превосходным инструментом выявления того места в программе, где происходит порча данных. Чтобы создать глобальную точку останова, установите сначала условную точку останова или точку останова по изменению памяти (как описано выше), затем после выхода из окна Conditions and Actions включите кнопку с зависимой фиксацией Global диалогового окна Breakpoint Options. Поскольку глобальные точки останова не связываются с конкретными адресами программы, в поле ввода Address диалогового окна Breakpoint Options выводится <not available>. Чтобы глобальная точка останова проверялась после выполнения каждой машинной инструкции, а не каждой строки исходного кода, в активном окне CPU нажмите F9. Эти точки останова сильно замедляют выполнение программы, поэтому использовать их нужно умеренно. Кроме того, для них не рекомендуется задавать условие Always . Меню Breakpoint содержит команды для быстрой установки глобальн1х точек останова: Changed Memory Global и Expression True Global. При этом по умолчанию выбирается действие Break . Changed Memory Global устанавливает глобальную точку останова, активизируемую при изменении значения в памяти. Эта команда выводит подсказку для задания соответствующей области памяти Enter Memory Address и поле счетчика Count. Expression True Global устанавливает точку останова, срабатывающую при истинном значении заданного выражения. Аппаратные точки останова Эти точки останова доступны в TDW и TD32 при отладке программ Windows NT. Они используют специальные отладочные регистры процессоров Intel 80386 и старше. Эти точки останова являются глобальными. Для работы с этими точками останова вам потребуется драйвер TDDEBUG.386. Скопируйте его с дистрибутивн1х диске и включите в файл CONFIG.SYS. (Инструкции содержатся в файле TD HDWBP.TXT.) При правильной установке этого драйвера в поле Breakpoints диалогового окна File Get Info выводится Hardware (в противном случае - Software). Чтобы установить аппаратную точку останова, выберите в меню Breakpoints команду Hardware Breakpoint. Эта команда автоматически устанавливает кнопку Global окна Breakpoint Options, кнопку Hardware в окне Conditions and Actions и открывает диалоговое окно Hardware Breakpoint Options. Это окно содержит все параметры аппаратных точек останова и полностью описано в файле TD HDWBP.TXT. Можно также создать аппаратную точку останова, модифицировав существующую точку останова: Установите кнопку с независимой фиксацией Global в диалоговом окне Options. Откройте диалоговое окно Conditions and Actions и выберите кнопку с зависимой фиксацией Hardware. Чтобы открыть диалоговое окно Hardware Breakpoint Options, щелкните мышью на кнопке Hardware окна Conditions and Actions. Задайте параметры аппаратной точки останова и щелкните мышью на OK.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |