Окно наблюдения Список Часов

 

Это окно позволяет иметь значения нескольких переменных сразу и сравнивать их, что удобно при отладке сложных приложений. Чтобы сделать окно видимым, нужно выполнить команду Вид|Windows отладки|Часы или подвести курсор к требуемой переменной (или выделить ее) и нажать Ctrl-F5. При этом окно наблюдения автоматически откроется и в нем появится имя переменной и ее значение A:1E+308 (значение переменной появится только при остановке выполнения приложения). Можно выделить и выражение, например, Label1->Caption, нажать Ctrl-F5, и в окне появится это выражение. Сообщение “Undefined symbol ‘Label1’” – не определен символ ‘Label1’ объясняется тем, что для окна наблюдения компонент Label1 по умолчанию не считается принадлежащим текущей форме. Добавив Form1-> перед Label1 в обработчике, после выделения выражения Form1->Label1->Caption и нажатия Ctrl-F5 в окне наблюдения увидим выражение и его значение “A:1E200”.

Работа с окном наблюдения. Перейдя в него, после щелчка правой кнопкой во всплывшем меню можно выбрать ряд команд. При выборе команд Правка часов и Добавить часы, попадаем в окно Свойства часов. Попасть в окно Свойства часов можно и по-другому – в окне наблюдения нажать Ctrl-F5 или сделать двойной щелчок. В окне Выражение можно записать имя любой переменной или любое выражение, содержащее переменные, константы, функции. Окно Повтор счета используется при наблюдении массивов и позволяет задать число наблюдаемых элементов массива. Например, если в окне Выражение указать имя массива, то в окне наблюдений будут отображаться все элементы этого массива. Если же указать первый элемент массива (с индексом 0), а в окне Повтор счета написать 5, то в окне наблюдений будут отображаться только первые 5 элементов массива. Окно Цифр указывает число выводимых значащих разрядов чисел с плавающей запятой. Окно Включить позволяет отключить вывод в окно наблюдения соответствующего выражения во время выполнения приложения, что повышает производительность выполнения. А после того, как приложение остановлено и данное выражение нужно посмотреть в окне наблюдения, выражение выделяют в этом окне и делают на нем двойной щелчок. Откроется окно Свойства часов с загруженным в него выражением и останется только включить индикатор Включить и щелкнуть OK. Индикатор Позволить побочный разрешает или запрещает отображение таких выражений, которые способны вызвать побочные эффекты. Например, в окне Выражение записано ++A. Если индикатор Позволить побочный выключен (он выключен по умолчанию), то в окне наблюдений рядом с выражением ++A появится текст: “Side effects are not allowed.” (побочные эффекты запрещены). Очевидно, если отображать указанное выражение, то значение переменной A в программе изменится. Отображение значения, на единицу большего A, будет иметь место при включении индикатора Позволить побочный. Но следует учесть, что это будет изменять значение переменной A. Радиокнопки в нижней части окна Свойства часов задают формат вывода значения переменной или выражения. По умолчанию формат определяется автоматически по типу отображаемого выражения. Выпадающий список в окне Выражение позволяет выбрать выражение из использовавшихся ранее. В окне Свойства часов имеется выпадающий список − имя группы. По умолчанию создается одна группа − Часы. Закладка этой группы видна в окне Список часов. Но можно разбить наблюдаемые величины на несколько групп (страниц). Для задания новой группы в контекстном меню окна наблюдения надо выбрать раздел Добавить группу и затем указать имя новой группы. Тогда в окне наблюдения появится новая страница, и на нее можно будет заносить новые наблюдаемые величины, выбирая в окне Свойства часов в списке Имя группы соответствующее имя.

Список выражений в окне наблюдения можно редактировать. Для удаления выражения его выделяют и нажимают Delete. Чтобы отредактировать ошибочное выражение, делают на нем двойной щелчок, а затем редактируют в окне Свойства часов.

Вернемся к примеру. В момент появления ошибки выполнения значение A равно , а следующее значение должно быть , которое переменная типа double хранить не может. Теперь можно нажимать Ctrl-F2, прерывать выполнение и исправлять код.