Паскаль на Макинтошах

Встроенный отладчик

В THINK Pascal имеется несколько различных средств отладки: пошаговый проход*, установка точек прерывания, окна Instant и Observe, а также отладчик -- LightsBug. Вот на нем нужно остановиться немного подробнее.

Окно отладчика имеет достаточно сложную структуру. Оно позволяет видеть одновременно и имена всех активных в данный момент процедур (слева вверху -- "цепь вызовов"), и значения переменных (справа вверху), и дамп памяти (внизу). Перетащив имя переменной на картинку "лупы", мы в средней части окна увидим ее "расширенное" представление (например, для записи -- значения всех полей, для массива -- всех элементов и т.п.). Если нужно наблюдать сразу за несколькими переменными, поможет следующая картинка -- "ящик". Интереснее всего действие последней картинки этой группы -- "Watchpoints". При любом изменении одной из перетащенных на нее переменных программа будет останавливаться. С переменной, за которой больше не нужно наблюдать, поступаем привычным способом -- "выкидываем в корзину".

Это -- наиболее ходовые функции отладчика, но отнюдь не единственные. Например, можно в любой момент вручную изменить значение переменной, воспользовавшись картинкой "карандаш" (кстати, можно редактировать и непосредственно содержимое памяти в нижнем подокне). Можно посмотреть, что получится при приведении типа той или иной переменной ("рожица"). Наконец, в правой верхней части окна можно вместо значений переменных увидеть регистры процессора или информацию о "кучах". За переключение этих режимов отвечают три верхние картинки.

В заключение, одна полезная "хитрость": если ваша программа зациклилась, либо ее по какой-то другой причине нужно прервать, щелкните по картинке "распылителя", появляющейся в правом углу на меню-строке. Тот же эффект можно получить и нажав Cmd+Shft+точка.

Кстати, когда выполнение программы приостановлено, в Вашем распоряжении два полезных окошка: Instant (Быстрое выполнение) и Observe (Наблюдение). При этом в окне Observe можно набирать достаточно сложные выражения (включая даже вызовы функций!)

Примечания

*) виды пошагового прохода в THINK Pascal:

  • Step In -- строго пошаговое выполнение (включая вызываемые процедуры);
  • Step Over -- пошаговое выполнение, но вызов процедуры считается одним шагом;
  • Step Out -- "шаг наружу", т.е. выполнение всех команд до момента выхода из процедуры.

PrevTOCNext
[Титульная страница][Макинтош][Информатика и ИТ][Паскаль на Макинтоше]
Hosted by uCoz