* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Окна Locals, Autos и Watch
8 февраля 2009

Окна Locals, Autos и Watch позволяют отслеживать и редактировать значения пере-
менных программы во время ее отладки, что удобно при тестировании процедур
путем передачи им различных аргументов.
Окно Locals
При исполнении программы в режиме отладки (Debug) в окне Locals можно отсле-
живать значения всех переменных текущей процедуры. В нем отображаются три
столбца: Name (с именем переменной), Value (с ее значением) и Туре (тип пере-
менной). Сложные переменные, например экземпляры классов и структур, показа-
ны в виде дерева с узлами, раскрывая которые, вы получаете доступ к значениям их
членов, При передаче управления от метода к методу содержимое окна Locals ме-
няется, отображая только локальные переменные. В окне Locals Вы можете изме-
нять значение переменной. Для этого следует выделить в столбце Value значение
нужной переменной и ввести новое значение. Заметьте, что так разрешено коррек-
тировать только значения строковых и числовых переменных. Модифицировать пе-
ременные-объекты, помещая в них ссылки на другие экземпляры класса или струк-
туры, нельзя, зато можно изменять значения их членов. Измененные значения в
столбце Value подсвечиваются красным цветом.
Чтобы отобразить окно Locals во время отладки приложения, выберите из меню
Debug команду Windows\Locals.
Окно Autos
Окно Autos напоминает окно Locals, но его возможности ограничены. В нем ото-
бражаются те же столбцы, что и в окне Locals, но в них содержатся только перемен-
ные из текущей и предыдущей строк кода (в Visual C#) либо (в Visual Basic .NET)
переменные из текущей строки плюс три строки до и после нее. В окне Autos мож-
но изменять значение переменных так же, как и в Locals.
Чтобы вызывать окно Autos во время отладки приложения, выберите из меню
Debug команду Windows\Autos.
Окно Watch
В окно Watch можно добавить переменную, чтобы отслеживать, как изменяются ее
значения. Переменные не удаляются из окна Watch, даже когда они уходят из обла-
сти видимости. Как и в Locals и Autos, в окне Watch отображаются столбцы Name,
Value и Туре, содержащие сведения о переменных; здесь также разрешается изме-
нять текущие значения простых переменных путем ввода новых значений в стол-
бец Value. Visual Studio .NET позволяет открывать до четырех окон Watch, что дает
возможность отслеживать одновременно несколько наборов переменных,
Диалоговое окно QuickWatch предусмотрено для быстрого расчета значения пе-
ременной. В столбцах Name, Value и Туре этого окна отображаются сведения толь-
ко об одной переменной; из него переменную можно добавить в окно Watch, а так-
же изменить ее значение, введя новое значение в столбец Value.
• Чтобы вызвать окно Watch во время отладки приложения, выберите из меню
Debug команду Windows, затем одну из следующих команд: Watchl, Wn.tch2,
WatchS или Watch4.
• Чтобы вызвать диалоговое окно QuickWatch, щелкните правой кнопкой пере-
менную в окне редакторе кода и выберите из контекстного меню команду Quick-
Watch.
• Добавить переменную в окно Watch можно одним из следующих способов:
• щелкните пустую строку в окне Watch и введите в нее имя переменной;
• в редакторе кода щелкните правой кнопкой переменную и из контекстного
меню выберите команду Add Watch;
• щелкните переменную в редакторе кода, окнах Autos либо Locals и перета-
щите ее в окно Watch;
• в диалоговом окне QuickWatch щелкните кнопку Add Watch.
Окно Command в режиме Immediate
Этот режим окна Command применяют при отладке для исполнения процедур, рас-
чета значений выражений или изменения значений переменных.
Окно Immediate позволяет исполнить любой допустимый оператор, но не разре-
шает объявлять переменные и объекты. В режиме пошагового исполнения кода
можно ввести в окно Command оператор или имя метода так же, как в редакторе
кода. Нажав Enter, вы заставите Visual Studio исполнить введенный оператор. За-
вершив исполнение оператора или метода, приложение вернется в режим пошаго-
вого исполнения.
Когда приложение находится в режиме пошагового исполнения, значения вы-
ражений и переменных можно вводить в окно Command напрямую, предваряя их
знаком вопроса. Например, таким образом перемножить текущие значения X и Y,
получив результат в окне Command:
? X*Y
Обратите внимание на использование одинакового синтаксиса для Visual Basic
.NET и Visual C# в окне Command. Скажем, в С# строку не обязательно завершать
точкой с запятой. Унифицированный синтаксис позволяет получить значение лю-
бого свойства, которое в настоящей момент находится в области видимости. На-
пример, следующая команда
? TextBoxl.Text
выводит текущее значение свойства Text объекта TextBoxl.
Оператор присваивания позволяет присвоить существующей переменной новое
значение. Так, следующий пример присваивает переменной А" значение 5:
X - 5
Заметьте: эту переменную необходимо объявить заранее.
Чтобы вызвать окно Command, укажите в меню View команду Other Windows\Command
Window. Чтобы открыть окно Command в режиме Immediate, щелкните ко-
манду Debug\Windows\Immediate.
Другие отладочные окна
Дополнительные окна отображают сведения об исполнении программы во время
отладки и позволяют управлять пошаговым исполнением кода. Они доступны че-
рез меню Debug (таблица 5-3).
Таблица 5-3. Дополнительные окна, доступные через меню Debug
Название Описание
Running Documents Отображает список текущих документов, загруженных
в исполняемый процесс
Me (Visual Basic .NET) / Отображает члены данных проекта, связанные с текущим
This (Visual C#) методом
Call Stack Отображает имена функций из стека вызовов с указанием
типов и значений их параметров
Threads Позволяет просматривать потоки отлаживаемой программы
и управлять ими
Modules Отображает список используемых программой модулей
(DLL- и ЕХЕ-файлов)
Memory Отображает содержимое памяти. Применяется для
просмотра больших буферов, строк и других данных,
которые нельзя отобразить в окнах Locals, Autos или Watch
Disassembly Показывает код сборки, соответствующий сгенерированным
компилятором командам
Registers Отображает содержимое регистров. Оставив это окно
открытым при пошаговом исполнении программы,
вы сможете наблюдать за изменением значений регистров
во время исполнения.

Теги: .NET

Статьи по теме:

Делегаты
Получение доступа к членам базового класса
Массивы
Установка порядка передачи фокуса при нажатии клавиши Tab
Ресурсы и ресурсные сборки
Защита приложения
Назначение значка элементу управления
Общие (статические) члены
Примеси (mixin)
Структуры CTS
Оповещение пользователя об ошибках ввода
Реализация метода RemoveStale
Редактор реестра
Реализация полиморфизма через наследование
Вложенные элементы управления и контейнеры
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Окна Locals, Autos и Watch. Регион сайта: Москва и Санкт-Петербург