Cтраница 4
Если Вы используете отладчик, замечайте, как изменяются значения в окне Watch по мере совершения шагов в программе. Когда Вы готовы остановиться, введите 0 для В. [46]
В данной книге отладчик Delphi не рассматривается, но это очень важный вопрос. [47]
Основным недостатком такого отладчика является существенное замедление выполнения отлаживаемой программы машиной ( в десятки раз) в связи с тем, что выполнение каждой команды этой программы сопровождается выполнением многих команд прокрутки и обработки. Кроме того, отладчик должен присутствовать в оперативной памяти наряду с отлаживаемой программой, что увеличивает объем требуемой памяти. [48]
Программа под управлением отладчика ведет себя так же, как и при обычном запуске, но до тех пор, пока не встретится контрольная точка. В этом случае на переднем плане появляется IDE, а строка исходного кода, содержащая контрольную точку, выделяется. [49]
Предполагается дальнейшее развитие протокольного отладчика. В частности, анализ трассы может быть автоматизирован. Для этого на вход протокольного отладчика будет поступать тестовая последовательность, подготовленная вручную или автоматически из формальной спецификации, а отладчик при обнаружении расхождений тестовой и трассовой последовательностей будет выдавать необходимую разработчику информацию. [50]
Теперь можно передавать отладчику в точности те адреса, которые имеются в листинге трансляции, что очень удобно. Символ / указывает ODT на слово, адрес которого был только что набран, и требует, чтобы он выдал его содержимое. Важно понимать, что, прежде чем сделать это, отладчик выполнит две операции: он сместит указатель текущей ячейки или курсор в относительный адрес 72 и откроет слово по этому адресу. [51]
Команда G сообщает отладчику о том, что нужно передать управление по указанному адресу. Поэтому, если набрать 0 0G, программа будет выполняться с начального адреса, если только базовый регистр отладчика был правильно установлен, как было показано выше. [52]
Сегодня мы воспользуемся отладчиком, чтобы понять, как Windows общается с перечнями, редактируемыми и статическими полями и кнопками. Кроме того, вы узнаете больше о функции SendMessage и о функции PostMessage, которая позволяет вам помещать ваши собственные сообщения ( или стандартные сообщения Windows) в очередь. [53]