Окно Autos (Видимые) полезно для изучения состояния отдельных переменных и свойств при их вычислении компилятором, но элементы в окне Autos (Видимые) сохраняют свои значения только для текущего (выделенного в отладчике) и предыдущего оператора (того, который только что был выполнен). Когда программа доходит до выполнения кода, не использующего эти переменные, они исчезают из окна Autos (Видимые).
Чтобы видеть содержимое переменных и свойств на протяжении всего выполнения программы, используйте окно Watch (Контрольное значение) - специальный инструмент Visual Studio, который отслеживает нужные значения, при работе в режиме останова. В Visual Basic 6 для изучения изменения значений переменных у вас был доступ к одному окну Watch (Контрольное значение). В Visual Studio .NET вы можете открыть до четырех окон Watch (Контрольное значение). Эти окна пронумерованы как Watch 1 (Контрольное значение 1), Watch 2 (Контрольное значение 2), Watch 3 (Контрольное значение 3) и Watch 4 (Контрольное значение 4) и находятся в подменю Watch (Контрольное значение), которое вы можете открыть, выбрав команду Windows (Окна) в меню Debug (Отладка). Также можно добавлять в окно Watch (Контрольное значение) такие выражения, как Age >= 13.
Чтобы снова запустить программу Debug Test, щелкните на кнопке Start (Начать).
Я предполагаю, что точка останова, которую вы установили в предыдущем упражнении на строке Age = TextBox1.Text, все еще присутствует. Если эта точка останова не установлена, остановите выполнение программы и установите ее, щелкнув на полосе Margin Indicator (Указатель поля) рядом с этим оператором, как показано в шаге 10 предыдущего упражнения, а затем снова запустите программу.
Выделите выражение Age < 20 и добавьте его в окно Watch (Контрольное значение). "Age < 20" является условным выражением. В окне Watch (Контрольное значение) можно отобразить его логическое (Boolean) значение точно так же, как вы делали это ранее в этой лекции, удерживая мышь над условием. Ваше окно Watch (Контрольное значение) будет иметь следующий вид.
Теперь сделайте один шаг в вашем коде, чтобы увидеть, как изменятся значения в окне Watch 1 (Контрольное значение 1).
Щелкните на кнопке Step Into (Шаг с заходом) панели инструментов Debug (Отладка).
Переменная Age принимает значение 20, а условие "Age < 20" вычисляется как False. Эти значения отображаются в окне Watch (Контрольное значение) красным цветом, так как они только что обновились.
До сих пор вы использовали для отладки те инструменты Visual Studio, которые позволяют входить в режим останова, выполнять операторы по одному и изучать значения важных переменных, свойств и выражений, имеющихся в вашей программе. Теперь вы узнаете, как изменять значение переменной и выполнять другие команды с помощью окна Command (Окно команд) - инструмента среды разработки Visual Studio двойного назначения. Когда окно команд находится в режиме Immediate (Интерпретация), вы можете использовать его для взаимодействия с кодом отлаживаемой программы на Visual Basic. Когда окно команд находится в режиме Command (командном), вы можете использовать его для исполнения команд Visual Studio, таких, как Save All (Сохранить все) или Print (Печать). Если вы исполняете более одной команды, то можете использовать клавиши со стрелками для просмотра предыдущих команд и их результатов.
Следующие упражнения демонстрируют, как работает окно Command (Окно команд); они предполагают, что вы отлаживаете программу Debug Test и что эта программа в настоящий момент находится в режиме останова.
В меню Debug (Отладка) укажите на Windows (Окна), а затем щелкните на Immediate (Интерпретация). Visual Studio откроет окно Command (Окно команд) в режиме Immediate (Интерпретация) - специальном состоянии, которое позволяет вам взаимодействовать с программой в режиме останова. Так как окно команд имеет два режима (Immediate (Интерпретация) и Command (командный)), важно научиться распознавать различные режимы, чтобы избежать ввода неверных команд. В режиме Immediate (Интерпретация) строка заголовка окна содержит текст "Command Window - Immediate" ("Окно команд: интерпретация").
В окне команд, введите Age = 17, а затем нажмите на (Enter). Вы только что изменили значение переменной с помощью окна команд. Значение переменной Age в окне Watch (Контрольное значение) немедленно изменяется на 17, и когда оператор If будет выполнен в следующий раз, значение свойства TextBox2.Text изменится на "Вы тинэйджер". Ваше окно команд будет иметь следующий вид.
Введите в окне команд следующий оператор, а затем нажмите на (Enter):
TextBox2.Text = "Вы уже в возрасте!"
Свойство Text объекта TextBox2 немедленно изменяется на "Вы уже в возрасте!". В режиме Immediate (Интерпретация) окно команд позволяет вам изменять значения свойств, также как и переменных.
Два раза щелкните на кнопке Step Into (Шаг с заходом), чтобы снова отобразить форму Debug Test. Обратите внимание, что свойство Text объекта TextBox2 изменилось, как вы указали, но свойство Text объекта TextBox1 все еще содержит значение 20 (а не 17). Это происходит из-за того, что вы изменили в программе переменную Age, а не используемое для вывода этого значения свойство. Ваш экран будет выглядеть примерно так.
У режима Immediate (Интерпретация) окна команд много способов применения: он представляет собой великолепное дополнение к окну Watch (Контрольное значение) и поможет экспериментировать с различными тестовыми ситуациями, которые было бы сложно ввести в программу другим способом.