что нельзя делать в окне watch во время отладки программы
Что нельзя делать в окне watch во время отладки программы
При отладке программ нужно иметь доступ к значениям свойств и переменных, оценивать какие-то выражения. Для этой цели предназначены окна отладки.
Рис.1. Внешний вид окна отладки
Коротко остановимся на назначении каждого из перечисленных окон.
Помимо вывода данных окно Immediate (Проверка) может использоваться для изменения значений переменных. Например, конструкция:
Окно Locals (окальных значений) показывает значения всех переменных текущей процедуры. Содержимое этого окна меняется по мере того, как управление передается от процедуры к процедуре.
Рис.2. Добавление контрольного значения
Итак, нами изучены средства Microsoft Access 97, применяемые при отладке программ. Перейдем теперь к рассмотрению одного из алгоритмов, используемых при отладке программ. Это алгоритм локализации с точками останова.
Если Вы не знаете, как выполняется Ваша программа, например, если в результате ошибок в программе выполняется не тот оператор, либо происходит переход не на ту точку, можно воспользоваться описанной выше процедурой отладки с некоторыми изменениями.
На шаге 1 выберите несколько возможных точек останова; то же сделайте на шаге 2. Кроме того, на шаге 2 удалите все точки останова, до которых, по Вашему убеждению, программа не дойдет, когда Вы ее запустите на шаге 3. Далее следите не только за содержимым памяти (значениями переменных), но и за тем, на какую точку останова вышла программа, чтобы убедиться, что это есть запланированная в данном случае точка останова.
Итак, локализация с точками останова используется для программ, слишком больших для отладки с помощью пошагового выполнения и трассировки. Для еще более длинных программ используется так называемый принцип разрыва телефонной линии, к описанию алгоритма которого мы и приступаем.
Установите первую точку останова где-то в середине программы. Когда программа выполнится до этого места (если это произойдет), проверьте содержимое памяти, чтобы убедиться, что программа до этого места работала правильно. Если это так, то Вы будете знать, что Ваша первая ошибка находится во второй половине программы. В противном случае она в первой половине.
Так или иначе, Вы сократили область поиска ошибки до половины программы. Теперь установите точку останова приблизительно в середине этой половины, снова запустите программу и проверьте содержимое памяти. Таким образом, Вы локализуете ошибку на участке в четверть программы. Продолжайте процедуру, деля программу каждый раз приблизительно пополам, пока Вы не сократите область поиска ошибки до таких размеров, при которых можно воспользоваться обычной методикой отладки с точками останова.
Если ошибки в программе приводят к неправильному порядку выполнения программных строк, предложенный метод следует, как и ранее, несколько изменить.
Может, например, получиться, что Вы установили точку останова в середине некоторого участка программы, но при выполнении программа проходит вообще мимо точки останова. Конечно, это все же локализует ошибку: она в первой половине этого участка. Однако Вы всегда можете установить несколько точек останова, как и при обычной отладке с точками останова.
Работа с окном Add Watch
Работа с окном Add Watch
На рис. 9.13 изображено окно Add Watch (Добавление контролируемого выражения), возникающее на экране в результате выбора Debug=Add Watch из меню или выбора пункта
Add Watch из контекстного (вызываемого щелчком правой кнопки мыши) меню в окне редактирования программного кода. В окне Add Watch уточняются детали, касающиеся добавляемых контролируемых выражений.
В поле Expression (Выражение) указывается выражение, подлежащее контролю. Если перед открытием окна было выделено нужное выражение, менять в окне ничего не придется, но вы всегда имеете возможность подправить выражение.
В разделе Context (Контекст) можно определить процедуру, в которой редактор Visual Basic будет вычислять и отображать значение переменной. Изначально в полях Procedure
(Процедура) и Module (Модуль) будут указаны процедура и модуль, из которых вы добавляете контролируемое выражение. Если вы хотите видеть значение при выполнении другой процедуры, выберите ее имя. Если это процедура из другого модуля, то сначала выберите нужный модуль, а уж затем процедуру.
Рис. 9.13 Диалоговое окно Add Watch
Для обычных контролируемых выражений в разделе Watch Type (Тип контроля) оставьте выбранным переключатель Watch Expression (Контролируемое выражение). Оставшиеся две возможности для выбора будут обсуждаться немного позже, в разделе «Использование контролируемых выражений для назначения точек останова».
Проще всего модифицировать существующее контролируемое выражение, внося изменения в столбец Expression (Выражение) окна Watches. Сначала щелкните в строке нужного вам выражения, чтобы выделить ее, а затем щелкните на самом выражении, чтобы выделить его. После этого можете менять свое выражение на любое другое.
Как и в окне Locals, в окне Watches тоже можно менять значение выражения прямо во время выполнения программы. А вот установки в столбце Context для контролируемого выражения в окне Watches менять нельзя. Для этого нужно открыть диалоговое окно Edit Watch (Редактирование контролируемого выражения), предлагаемое меню Debug или контекстным (открывается щелчком правой кнопки мыши) меню в окне Watches. В этом диалоговом окне вы сможете изменить контекст контролируемого выражения, его тип и даже само выражение точно так же, как в окне Add Watch при первоначальном добавлении выражения к списку контролируемых.
Читайте также
Знакомство с окном программы DC++
Знакомство с окном программы DC++ Рассмотрим окно программы DC++. Как и у большинства программ, работающих под управлением операционной системы Windows, в верхней части окна находится строка заголовка. В левой части строки заголовка вы увидите название запущенной программы и
Просмотр изменений на странице (вкладки Track > Watch ThatPage)
Просмотр изменений на странице (вкладки Track > Watch ThatPage) Fagan Finder предлагает услуги четырех практически равноценных систем мониторинга изменений на странице сайта. Эти системы позволяют получать по электронной почте один раз в день или реже информацию об изменениях.
Работа с окном Счет
Работа с окном Счет Как известно, звонки на обычные телефоны являются платными, ведь организация каналов связи практически по всему миру стоит немалых денег. Но если вы сравните цены программы Skype и цены, например, мобильных операторов, то ощутите преимущество
Глава 2 Знакомство с рабочим окном и инструментами ArchiCAD
Глава 2 Знакомство с рабочим окном и инструментами ArchiCAD Пользователь взаимодействует с программой с помощью элементов управления, совокупность которых называется графическим интерфейсом пользователя. В интерфейсе ArchiCAD используются стандартные элементы управления,
Приложение с единственным окном
Приложение с единственным окном Первое созданное нами приложение не имело главного окна. Для вывода сообщения на экран мы использовали функцию AfxMessageBox, которая очень похожа на функцию MessageBox программного интерфейса операционной системы Windows.Следующее приложение,
1.3.3 Лабораторная работа #3 «Работа с внешними устройствами»
1.3.3 Лабораторная работа #3 «Работа с внешними устройствами» 1. Используя функции XKeysymToString() и XKeycodeToKeysym(), напишите программу, которая реагирует на нажатие клавиш в окне выдачей в него кода символа, состояния модификаторов и символьной расшифровки нажатой клавиши. 2. Напишите
Подпрограммы для работы с графическим окном
Практическая работа 8. Работа с меню Пуск
Практическая работа 8. Работа с меню Пуск Задание. Настроить значки меню Пуск.Последовательность выполнения1. Запустите программу Блокнот с помощью строки поиска в меню Пуск.2. Запустите программу Калькулятор с помощью строки поиска, не пользуясь мышью. Для этого:1)
Практическая работа 12. Работа с окнами папок
Практическая работа 12. Работа с окнами папок Задание. Изучить работу с окнами папок. Научиться перемещаться по файлам и папкам.Последовательность выполнения1. С помощью меню Пуск откройте папку Компьютер. Ознакомьтесь с содержимым окна, покажите его составляющие.2. С
Практическая работа 16. Работа со сменными носителями
Практическая работа 16. Работа со сменными носителями Задание 1. Скопировать файлы и папки на flash-диск.Последовательность выполнения1. Подключите к компьютеру устройство flash-памяти. При этом обратите внимание на размещение выступов на разъеме и самом устройстве, чтобы
Практическая работа 19. Поиск в Интернете. Работа с папками Избранное и Журнал
Практическая работа 19. Поиск в Интернете. Работа с папками Избранное и Журнал Задание 1. Научиться выполнять поиск в Интернете, настраивать параметры поиска, работать с папками Избранное и Журнал.Последовательность выполнения1. Запустите Internet Explorer.2. Щелкните кнопкой мыши
Практическая работа 26. Работа с файловым менеджером
Практическая работа 26. Работа с файловым менеджером Задание 1. Установить и настроить программу Total Commander.Последовательность выполнения1. Загрузите последнюю версию Total Commander с сайта wincmd.ru.2. Запустите загруженный файл и установите программу, ответив на несколько простых
Практическая работа 27. Работа с проигрывателем Windows Media
Практическая работа 27. Работа с проигрывателем Windows Media Задание 1. Изучить средства управления воспроизведением проигрывателя Windows Media.Последовательность выполнения1. Откройте для воспроизведения с помощью проигрывателя любой музыкальный файл, например из папки
Практическая работа 30. Редактирование документа. Работа с фрагментами.
Практическая работа 30. Редактирование документа. Работа с фрагментами. Задание. Отредактировать сохраненный документ.Последовательность выполнения1. Откройте ранее сохраненный документ Урок 1 любым способом.2. Выделите слово, предложение, строку, абзац, весь документ.
Знакомство с окном программы Excel
Знакомство с окном программы Excel Как и любую другую программу, Excel можно запустить с помощью поиска в меню Пуск. Запустить Excel можно и другим способом, например создать ярлык на Рабочем столе или на Панели быстрого запуска. Внешний вид окна программы Excel изображен на рис.
Практическая работа 53. Запуск Access. Работа с объектами базы данных
Практическая работа 53. Запуск Access. Работа с объектами базы данных Задание. Ознакомиться с окном программы Access. Запустить и рассмотреть учебную базу данных. ВНИМАНИЕ При выполнении задания помните, что все внесенные в базу данных изменения записываются немедленно и их
Средства получения справки и отладки программ
Окно контрольных значений (Watches)
Это окно используется для отслеживания значений переменных или выражений. Можно одновременно задавать несколько контрольных выражений. Можно использовать контрольные значения для задания моментов останова программы.
Определяемое пользователем контрольное выражение позволяет следить в процессе пошагового выполнения программы за изменением значения этого выражения.
Чтобы определить новое контрольное выражение, выполните команду Add Watch (Добавить контрольное значение) из меню Debug. Кнопка панели инструментов
Вводимое в строку Expression (см. рис. 3.12) выражение может быть переменной, свойством или любым другим допустимым в Visual Basic выражением. Если в окне модуля перед выполнением команды Add Watch было выделено некоторое выражение, то оно автоматически отображается в строке Expression.
Допускается перетаскивание мышью выделенного выражения из окна модуля в окно контрольных значений Watches.
Поле Module отображает имя модуля, в котором вычисляется выражение. Допускается выбор всех модулей либо отдельного модуля.
Строка Project отображает имя текущего проекта. Вычисление выражений вне текущего проекта невозможно.
В области Watch Type (Тип контрольного значения) можно задать реакцию Visual Basic на значение контрольного выражения:
Введенное выражение и его значение отображаются в окне Watches ( рис. 3.13).
Команда Edit Watch (Изменить контрольное значение) из меню Debug позволяет отредактировать или удалить контрольное выражение.
Команда доступна только при установленном контрольном значении, даже если окно контрольных значений закрыто.
Окно диалога Edit Watch ( рис. 3.14)похоже на окно Add Watch и элементы окна Edit Watch устанавливаются точно также как элементы окна Add Watch. Кнопка панели инструментовФункциональные клавиши Ctrl+W.
Команда Quick Watch (Контрольное значение) из меню Debug выводит окно диалога Quick Watch с текущим значением выделенного в тексте процедуры выражения. Эта команда служит для просмотра текущего значения переменной, свойства объекта или другого выражения, для которого не задано контрольное выражение.
Для добавления просматриваемого в окне Quick Watch ( рис. 3.15) выражения в список контрольных выражений следует нажать кнопку Add. Кнопка панели инструментовфункциональные клавиши Shift+F9.
Контрольные точки или точки останова
Точка останова ( Breakpoint ) представляет собой строку процедуры, на которой разработчик во время отладки планирует остановить выполнение программы. Обычно точки останова используются в больших программах с целью определения их поведения. Имеет смысл устанавливать контрольные точки там, где предположительно может возникнуть ошибка, или в местах, которые отмечают прохождение логических частей программы, например, окончание ввода данных, расчет промежуточных результатов и т.п.
Для установки контрольной точки переместитесь на нужную строку процедуры и нажмите пиктограммуМожно выполнить команду Debug-Toggle Breakpoint (Отладка-Точка останова) или нажать клавишу F9. Можно сделать щелчок на вертикальную полосу слева от строки процедуры. Строка подсвечивается цветом точки останова ( Breakpoint Text ), задаваемым на вкладке Editor Format команды Tools-Options. Обычно это коричневый цвет.
Если точка останова задана в строке, содержащей несколько операторов, разделенных двоеточием (:), останов происходит в первой инструкции такой строки.
Если точки останова больше не нужны, их надо снять. Отмена всех точек останова производится командой Clear All Breakpoints (Снять все точки останова) из меню Debug или клавишами Ctrl+Shift+F9. Отменить действие этой команды нельзя.
Для снятия одной точки останова выполните команду Toggle Breakpoint из меню Debug для строки процедуры, содержащей точку останова. Можно нажать клавишу F9 или пиктограммуМожно сделать щелчок на установленную точку на вертикальной полосе слева от строки процедуры. Точка останова удаляется и подсветка строки снимается.
Трассировка или пошаговое выполнение программы
Команда | Пиктограмма | Клавиша | Описание |
---|---|---|---|
Step Into Шаг с заходом | F8 | Последовательное выполнение всех строк программы (вызывающей и вызываемой процедур) | |
Step Over Шаг с обходом | Shift+F8 | Выполнение вызываемой процедуры как одной инструкции. Используется для продвижения по командам вызывающей процедуры без захода внутрь вызываемых процедур | |
Step Out Шаг с выходом | Ctrl+Shift+F8 | Выполнение оставшейся части вызываемой процедуры как одной инструкции с выходом на оператор вызывающей процедуры, непосредственно следующий за вызовом процедуры | |
Run to Cursor Выполнить до текущей позиции | Ctrl+F8 | Выбор оператора останова программы. Используется для продвижения по логическим разделам программы, например, по большим циклам | |
Set next Statement Задать следующую инструкцию | Ctrl+F9 | Изменение порядка выполнения операторов. Используется для повтора команд внутри текущей процедуры, а также для пропуска нежелательных операторов. Достаточно переместить точку вставки на нужную инструкцию и нажать эту пиктограмму. Можно переместить указатель выполняемого оператора (стрелка слева) в нужную строку процедуры. Допускается выбор строки программы, расположенной как до, так и после текущего оператора. Нельзя задать в качестве следующей выполняемой команды оператор в другой процедуре | |
Show next Statement Показать следующую инструкцию | Перечисленные команды доступны только в режиме отладки. Использование объекта DebugОбъект Debug используется для организации вывода в окно Immediate в режиме выполнения программы. Объект имеет только один метод Print. Синтаксис оператора Debug.Print [outputlist] Для печати нескольких выражений их можно разделять запятой, точкой с запятой или пробелом. Различные разделители обеспечивают различные возможности выравнивания распечатываемых выражений в окне Immediate (подробно см. Help ). Об отличиях между окнами Watches и LocalsОб отличиях между окнами Watches и Locals Кроме того, что появляющиеся в окне Watches объекты выбираете вы, окно Watches отличается от окна Locals следующим. * Из-за того что в окне Watches можно контролировать переменные из любого модуля или процедуры проекта, в этом окне добавлен еще один столбец Context (Контекст). В этом столбце указывается область видимости, в рамках которой отображается значение данной переменной или выражения. Если выполняемая процедура находится вне заданного контекста, вы и увидите только пометку (Вне контекста). :. Читайте такжеРабота с окнамиРабота с окнами Давайте поподробнее остановимся на некоторых моментах использования свойств и методов окон.Прежде всего, требуется дополнительное рассмотрение метода open. Он позволяет Web-дизайнеру открыть на экране дополнительное окно Web-обозревателя и поместить в него Действия над окнамиДействия над окнами Рассмотрим команды окна. Наведите указатель мыши на область заголовка окна и щелкните правой кнопкой. Появится контекстное меню (рис. 3.4), содержащее пункты Восстановить, Переместить, Размер, Свернуть, Развернуть и Закрыть. Если выбрать пункт Управление окнамиУправление окнами В предыдущем разделе очерка речь шла о способах запуска приложений, в этом же поговорим о способах управления приложениями, которые уже запущены. Поскольку мы (пока ещё) живём в системе, которая официально называется X Window System, то большая часть Управление окнамиУправление окнами Если ваш монитор не отличается гигантскими размерами экрана, приготовьтесь потратить довольно много времени на перемещение окон редактора Visual Basic. Эти окна существуют не столько для того, чтобы на них смотреть, сколько для того, чтобы оказать Все переменные под присмотром в окне LocalsВсе переменные под присмотром в окне Locals Если у вас на экране еще есть место, где можно разместить окно Locals (Окно локальных переменных), оно обязательно должно присутствовать на экране все время, пока вы занимаетесь отладкой программы в режиме паузы. Отобразить окно Locals на Ключевое средство отладки: окно WatchesУправление окнамиУправление окнами В Word 2007 кнопка закрытия документа совпадает с кнопкой закрытия окна программы (рис. 2.38). Если открыто несколько документов, то при закрытии одного из них, остальные остаются открытыми. При закрытии последнего документа с помощью этой кнопки окно 1.1.3 Управление окнами1.1.3 Управление окнами Окна могут располагаться на экране произвольным образом, перекрывая друг друга. X имеет набор средств, пользуясь которыми программа-клиент может изменять размеры окон и их положение на экране. Особенностью системы является то, что она не имеет Диалог перехода между окнамиДиалог перехода между окнами Ни в одном стандартном мастере операционной системы вы не найдете возможностей настройки диалога перехода между окнами (отображается с помощью сочетания клавиш Alt+Tab). Однако возможность такой настройки существует. Для этого достаточно Работа с окнамиРабота с окнами Перетаскивание окнаПри перетаскивании окна с помощью мыши может отображаться либо его содержимое, либо только контур. Если параметру DragFullWindows, который расположен в разделе реестра HKEY_CURRENT_USERControl PanelDesktop, присвоить значение 1, то при перетаскивании окна с Как переключаться между окнами?Как переключаться между окнами? Компьютер способен одновременно выполнять несколько приложений. Каждое из них выводит на экран свое окно. Значки этих окон отображаются на Панели задач.Чтобы переключаться между запущенными программами, вы можете щелкать мышью на их 6.3. Работа с окнами6.3. Работа с окнами Нажмите кнопку Пуск и выберите команду меню Мой компьютер. Далее мы будем, как и договаривались ранее, данное действие записывать более кратко: Пуск, Мой компьютер. Рассмотрим заголовок окна (рис. 38). Сначала отображается пиктограмма окна, двойной щелчок 3.5. Работа с окнами3.5. Работа с окнами Наверное, вы уже догадались, что мы не будем сейчас говорить, о том, как свернуть, развернуть или закрыть окно. Надеюсь, это умеют делать все читатели данной книги. Вместо этого мы рассмотрим ряд клавиатурных комбинаций по работе с окнами, которые 2.2.1. Переключение между окнами2.2.1. Переключение между окнами Windows является многозадачной операционной системой. То есть вы можете работать одновременно в нескольких программах и переключаться между ними. Объясняю, как это делается. Итак, сейчас у вас открыто окно Мой компьютер, сверните его на панель Эффекты переключения между окнамиЭффекты переключения между окнами При включенном стиле Windows Aero для переключения между окнами можно использовать сочетание клавиш Windows+Tab, с помощью которого реализуется эффект трехмерного пролистывания открытых окон (рис. 2.11). Этот эффект также называется Flip 3D, или
|