
- •Введение
- •Создание простого приложения в ms Visual Studio
- •Отладка программы
- •Пошаговый режим
- •Точки останова
- •Безусловные точки останова
- •Условные точки останова
- •Просмотр переменных
- •Стек вызова функций
- •Разработка оконных приложений
- •Размещение компонентов на форме. Свойства компонента.
- •Компонент CheckBoxListBox
- •Переменные
- •Приведение типов
- •Операции, приоритет
- •Перегрузка операций
- •If(выражение_1) оператор_1
- •Циклы While
- •Цикл foreach
- •Программирование классов
- •Введение в классы и объекты в с#
- •Общий синтаксис класса
- •Поля и свойства
- •Использование переменного числа аргументов
- •Объявление объектов класса. Оператор new
- •Инциализация членов класса
- •Конструкторы и деструкторы
- •Ключевое слово this
- •Ключевое слово static
- •Наследование
- •Полиморфизм.
- •Абстрактные классы
- •Интерфейсы
- •Реализация интерфейсов
- •Интерфейсные свойства
- •Интерфейсные индексаторы
- •Массивы
- •Обработка исключительных ситуаций
- •Предварительная проверка параметров
- •Проверка кодов возврата функций и методов
- •Применение механизма исключений
- •Блоки try-catch
- •Применение блока finally
- •Массивы как коллекции
- •Коллекция ArrayList
Условные точки останова
Очень часто, например, при отладке циклов и других сложных конструкиций бывает удобно наложить условие на точки останова. Для установки условия в окне New Breakpoint существует кнопка Condition... При нажатии этой кнопки на экране появится окно, изображенное на рисунке 4.
Рисунок 7 – Окно Condition
В поле Condition вводится строка условия, похожая на условие в блоке if. Установите флажок is true или Has changed и нажмите ОК. Запустите программу.
Также можно задать условия при которых точка останова будет срабатывать после нескольких итераций цикла, для этого можно воспользоваться окном New Breakpoint->Het Count, которое представлено на рисунке 5.
Рисунок 8 – Окно Condition
По умолчанию, в списке выбора типа повторений установлено значение break always (всегда). Это означает, что программа будет останавливаться на каждой итерации цикла. Если вы выберете пункт break when the hit count is equal to, то программа остановится на точке останова после выполнения указанного числа итераций. Если вы выберете пункт break when the hit count is a multiple of, то программа будет останавливаться лишь на тех итерациях, значение которых без остатка делится на указанное. Так, если вы укажете число 2, то программа будет останавливаться на каждой четной итерации цикла, если же укажете число 10, то программа будет останавливаться на каждой 10 итерации цикла. Последним пунктом списка является элемент break when the hit count is greater than or equal to. Выбор этого пункта заставит программу останавливаться на точке останова, если количество итераций цикла будет равным или превысит указанное значение.
Просмотр переменных
Во время отладки обычно необходимо видеть значения переменных программы. Одна из возможностей просмотра переменных – это всплывающая подсказка, которая появляется при наведении курсора мыши на название переменной в коде программы.
Для просмотра переменных необходимо установить точку останова на какой-либо часть программы и запустить ее. Программа остановит свою работу, как только достигнет точки останова, и вы сможете увидеть значения переменных. Если подвести указатель мыши к переменной а в любом месте кода программы, то появятся значения переменных.
Второй, более обширной, возможностью просмотра значений переменных, является использование специального окна просмотра переменных представленное на рисунке 6.
Рисунок 9 – Окно просмотра переменных
Закладка Error List содержит лист ошибок и предупреждений в программе.
Закладка Locals содержит все локальные переменные, видимые в трассируемой области программы. Для нашего случая локальными переменными являются a, b, i.
Закладка Watchl, по умолчанию, пуста. Она предназначена для просмотра переменных, определяемых программистом. Для просмотра значения необходимой переменной установите курсор мыши в поле Name выделенной строки и введите имя переменной. Ее значение сразу жеотобразится в поле Value. Кроме того, в поле Name вы можете задаватьлюбые выражения, содержащие видимые переменные, константы, вызовы функций.