Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 72

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 66 67 68 69 70 71 < 72 > 73 74 75 76 77 78 .. 404 >> Следующая


Утверждения — это инструкции, позволяющие прерывать выполнение программы с выводом определяемого пользователем сообщения, Утверждения часто используются в процессе разработки приложения для проверки того, все ли идет правильно. Например, мы можем наложить требование, чтобы некоторая переменная в некоторой точке нашего приложения имела значение, меньшее 10. В этом случае мы можем воспользоваться утверждением для проверки выполнения требования и прерывания программы при его нарушении. При проверке можно использовать опцию Abort (окончить), которая завершит выполнение приложения; опцию Retry (повторить), которая приведет к останову; и опцию Ignore (игнорировать), которая позволит приложению выполняться дальше в обычном режиме.

Так же, как и функции для вывода отладочной информации, с которыми вы познакомились ранее, функция, позволяющая использовать утверждение, имеет две разновидности:

? Debug,Assert()

? Trace.Assert<)

Отладочный варнаит функции —Debug. Assert о —будет компилироваться только при создании отладочной версии.

Эти функции имеют три параметра. Первый из них—логическое значение, причем если оно равно false, то срабатывает утверждение. Второй и третий параметры имеют строковое значение н записывают информацию как в появляющееся окно диалога, так и в окно Output. Для приведенного выше примера потребуется следующий вызов функции:

Debug.Assert(myVar < 10, 'Значение переменной myVar больше или равно 10.', 'Невыполнение утверждения в Maid О . |

Утверждения часто оказываются полезными на ранних этапах использования приложения пользователями. Мы можем распространить рабочую версию прнло-

break when the hit count Is equal to

break when the hit count is a multiple of

break when the hit count is greater than or equal to
Отладка и обработка ошибок

145

жения с функциями Trace.AseertO, что позволит разработчику отслеживать корректность функционирования данного приложения. Если какое-либо утверждение окажется невыполненным, пользователь сообщит об этом разработчикам, которые таким образом получают возможность проанализировать проблему, несмотря на то, что они остаются в неведении, каким образом произошел сбой.

Можно, например, привести краткое описание ошибки в первой строке н инструкции, объясняющие, что необходимо предпринять, во второй строке:

Trace-Assort(myVar < 10, 'Выход значения э< допуск границы.',

'Пожалуйста, сообщите разработчику код ошибки KCW0Q1.*);

В том случае, если это утверждение окажется невыполненным, пользователь увидит на экране сообщение: “Выход значения переменной за допустимые границы. Пожалуйста, сообщите разработчику код ошибки KCW001ниже: “в Classl.Main(StringQ args)”

Если у пользователя инсталлирован VS и он нажмет кнопку Retry для рабочей версии, то он увидит не исходный код, а инструкции приложения на языке ассемблера, которые он вряд ли сможет понять. Ниже приводится участок кода на языке ассемблера для примера нз предыдущего раздела:

00000196 nop
00000197 pop ebx
00000198 pop esi
00000199 pop edi
0000019a mov eap,«bp
0000019c pop ebp
0001019d ret 4

В этом совсем не просто разобраться, и только те программисты, у которых имеется опыт работы с языком ассемблера, могут на что-то рассчитывать. А это значит, что наша программа будет скрыта от (большинства) любопытных глаз!

Следующие темы касаются возможностей, появляющихся при останове приложения. Вообще говоря, мы будем переходить в режим останова для того, чтобы обнаружить ошибку в программе (или убедиться в том, что все работает правильно). При останове можно использовать самые разнообразные методы, каждый из которых позволяет производить анализ кода и конкретного состояния приложения в точке временного прекращения работы.

Мониторинг содержимого переменных

Мониторинг содержимого переменных представляет собой пример тон помощи, которую оказывает нам VS. Самый простой способ узнать значение, хранящееся в переменной, это подвести указатель мыши к имени переменной в исходном коде, находясь в режиме останова, В этом случае иа экране появится вспомогательное поле желтого цвета, в котором содержится информация об этой переменной, включая ее текущее значение.

Мы можем выделять таким же образом целые выражения, чтобы получить информацию о результате их выполнения. Однако применение этого способа весьма ограниченно, поскольку он не позволяет, например, просматривать содержимое массивов.

Assertion FciiSiid!: Abort— LJwi,, Riitiy-Dtibiuip Eijttfif»' -' nnlrriuf

О

- ; r

VH dof errcr cwii CCWOW

- Mi 1 ¦ ¦
146 Глаза 7

Вы, вероятно, уже успелн заметить, что когда мы запускаем приложения посредством VS, то внешнее представление различных окон меняется. Во время выполнения программы по умолчанию происходит следующее:

? Исчезает окно Properties,

? К окну Solution Explorer добавляется вкладка Running Documents (используемые документы), которая показывает использующиеся в проекте документы, если таковые существуют,

? Размер окна Output изменяется, поскольку половину нижней части экрана занимает новое окно,
Предыдущая << 1 .. 66 67 68 69 70 71 < 72 > 73 74 75 76 77 78 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.