| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
є7229:04F5: push ax є
є7229:04F6: push bp є
є7229:04F7:°call°°°TCDEMO.PROCESSLINE.ISLETTERє
є<І±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±>є
єTrace TPDEMO.122: while i <= Length(S) do є
єTrace TPDEMO.125: while (i <= Length(S) anє
єTrace TPDEMO.PROCESSLINE.ISLETTER: begin є
АНННННННННННННННННННННННННННННННННННННННННННННЩ
Рис. 5.6 Окно Execution History
В окне Execution History (Протокол выполнения), которое отк-
рывается по команде ViewіExecution History (ОбзоріПротокол выпол-
нения) вы можете просмотреть протокол выполнения.
Данное окно содержит две области: область инструкций (ввер-
ху) и область записи клавиш (нижняя область).
Область инструкций
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В области инструкций выводятся инструкции,которые уже выпол-
нены и которые вы можете отменить. Выбрать нужную инструкцию мож-
но, перемещая полосу (строку) подсветки.
В протоколе выполнения отслеживаются только инструкции, ко-
торые выполняются по команде Trace Into (Трассировка вглубь)
(клавиша F7) или Instruction Trace (Трассировка инструкций) (кла-
виши Alt-F7). Если вы не встретите ни одну из перечисленных выше
(в предыдущих разделах) команд, там отслеживаются также инструк-
ции, выполняемые по команде Step Over (Шаг с пропуском). Как
только вы используете команду Run (Выполнение) или выполняете
прерывание, протокол инструкций удаляется. (Когда вы вернетесь к
трассировке, инструкции снова будут фиксироваться.)
Обратную трассировку вызова прерывания выполнять нельзя.
TDeb 3.0 #1-3 = 132 =
Если вы выполняете шаг с пропуском при вызове процедуры или
функции, то вы не сможете выполнить обратную трассировку инструк-
ций, предшествующих возврату управления.
Обратная трассировка инструкций, работающих с портами, не
действует, так как вы не можете отменить выполненные операции
чтения или записи.
Локальное меню области инструкций
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДї
Проверка і Inspect і
Обратное выполнение і Reverse execute і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДґ
Полный протокол і Full history No і
АДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Локальное меню области инструкций содержит три команды.
Команда Inspect
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Команда Inspect (Проверка) перемещает вас к команде, подсве-
ченной в области инструкций. Если это строка исходного кода, вам
показывается эта строка в окне Module (Модуль). Если нет исходно-
го кода, то открывается окно CPU (ЦП) и инструкция подсвечивается
в области кода.
Команда Reverse Execute [Alt-F4]
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Данная команда (можно также использовать оперативные клавиши
Alt-F4) выполняет программу в обратном порядке до того места, ко-
торое подсвечено в области инструкций. Если вы выбрали строку ис-
ходного кода, то вы возвращаетесь в окно Module, в противном слу-
чае выводится окно CPU (ЦП) с подсветкой на инструкции в области
кода.
Предупреждение: Вы не можете выполнять в обратном по-
рядке ту часть программы, которую вы не трассировали. Напри-
мер, если вы установите точку останова и затем нажмете кла-
вишу F9, чтобы выполнить программу до точки останова, то ваш
протокол выполнения будет потерян. В этом случае для восста-
новления ситуации можно использовать средство повторной от-
работки нажатых клавиш (окна Execution History). Для этого
нужно перезагрузить программу и выполнить ее до данной точ-
ки.
Предупреждение: Инструкция INT приводит к потере преды-
дущего протокола выполнения. Вы не можете выполнить эту инс-
TDeb 3.0 #1-3 = 133 =
трукцию в обратном порядке, если не использовалась трасси-
ровка прерывания (клавиши Alt-F7).
Следующие инструкции не приводят к потере протокола регист-
рации, но имеют необратимый эффект, поэтому отменить их нельзя.
Если вы попытаетесь выполнить данные инструкции в обратном поряд-
ке, могут возникнуть непредсказуемые эффекты.
IN INSW
OUT OUTSB
INSB OUTSW
Команда Full History (Полный протокол)
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Это команда-переключатель. Если она установлена в состояние
On (Включено), то обратная трассировка разрешена. В состоянии Off
(Выключено) обратная трассировка запрещена.
Область регистрации нажатий клавиш
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Даже если вы случайно уничтожили свой протокол выполнения,
вы все равно сможете вернуться обратно к данной точке программы.
Для этого должно быть разрешено средство регистрации нажатий кла-
виш.
Регистрация нажатий клавиш в сочетании со средством обратно-
го выполнения программы предоставляет вам различные способы возв-
рата во время сеанса отладки к предыдущей точке. При регистрации
нажатий клавиш регистрируются все клавиши, которые вы нажимаете
(как при вводе команд Турбо отладчика, так и при взаимодействии с
отлаживаемой программой). Клавиши регистрируются в файле с име-
нем имя_программы.TDK, где "имя_программы" - это имя отлаживаемой
программы.
Для повторного выполнения нажатий клавиш для возврата к пре-
дыдущей точке сеанса отладки используйте нижнюю область окна
Execution History (Протокол выполнения). Каждая строка в протоко-
ле выполнения показывает причину, по которой Турбо отладчик полу-
чил управление (точка останова, трассировка и т.д.) и текущий ад-
рес программы в этот момент. Если этот адрес соответствует строке
исходного кода, то выводится также эта строка. В противном случае
дисассемблируется инструкция по данному адресу.
Регистрацию последовательности нажатий клавиш разрешает па-
раметр командной строки -k. Для того, чтобы он по умолчанию уста-
навливался в значение On (Включено), можно также использовать
утилиту TDINST.
Локальное меню области регистрации нажатий клавиш
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
TDeb 3.0 #1-3 = 134 =
ЪДДДДДДДДДДДДДДДДДДДї
Проверка і Inspect і
Восстановление нажатий клавиш і Keystroke restore і
АДДДДДДДДДДДДДДДДДДДЩ
TDeb 3.0 #1-3 = 135 =
Команда Inspect
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Если вы переведете подсветку на строку в области регистрации
нажатий клавиш, а затем выберите из локального меню команду
Inspect (Проверка), то выводится окно Module (Модуль), курсор в
котором установлен на той строке исходного кода, где была нажата
клавиша.
Если данная строк (в области регистрации нажатий клавиш) не
соответствует позиции в исходном коде, то выводится окно CPU
(ЦП), подсветка в котором позиционирована на инструкции.
Команда Reystroke Restore
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Если вы подсветите строку в области регистрации нажатий кла-
виш, а затем выберите команду Кeystroke Restore (Восстановление
нажатий клавиш), то Турбо отладчик перезагрузит вашу программу и
запустит ее до выделенного (подсвеченного) контекста. Это особен-
но полезно использовать, когда вы выполнили команду Турбо отлад-
чика, которая удалила протокол выполнения.
Прерывание выполнения программы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В интерактивных программах скорейший способ добраться до оп-
ределенного места в вашей программе заключается иногда в том,
чтобы просто запустить ее и взаимодействовать с ней, пока она не
достигнет нужной части кода, а затем прервать выполнение. Особен-
но это касается того случая, когда та часть кода, которую вы хо-
тите проверить, вызывается несколько раз до того момента, который
вас интересует.
Может также потребоваться прервать выполнение программы,
когда по каким-либо причинам управление не передается отладчику.
Это может произойти когда часть кода содержит бесконечный цикл:
вы ожидаете, что эта часть кода будет выполнена и поэтому устано-
|
adfun.ru
|
|
|
|