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

С# - Ватсон К.

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


lnt mxVal ¦ №lM|cutlmy, out nokValXndlces);

Console.BrlteLlne("Haxinum value <0) found at element Indices:", maxVal) foceach (Int Index in maxValIndices]

(

Console.MtlteLlne(Index);

)

Стрелка показывает-нам, какой точки программы мы достигли на момент перехода в режнм останова. Отсюда мы можем продолжить выполнение программы в пошаговом режиме. Для этого нам потребуются некоторые другие кнопки, расположенные на уже знакомой нам панели инструментов Debug:

1 '
1 > И ¦ ? Hex т т

S-tifi flip frkktiMлож вьг/ю/metrnej

Step Out

(pdtueroaoe а юлн tue nt 5W4 ант блока)

Step Over ' (пошаговое выполнение с пропуском)

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

? Step Into — выполняется очередной оператор, перед выполнением следующего делается остановка.

? Step Over — аналогично предыдущему, но пропускаются вложенные блоки кода.

? Step Out — текущий блок кода выполняется до конца, после чего перед очередным оператором восстанавливается режим останова.

Еслн возникает необходимость просматривать все выполняемые приложением отдельные операции, то для последовательного выполнения каждой инструкции можно воспользоваться режимом Step Into. Этот режим предполагает и пошаговое выполнение встретившихся функций, таких как Maxima о из предыдущего примера.
Отладка и обработка ошибок______________________________________________________________149

Если этот режим будет выбран в момент, когда стрелка достигнет строки 15, в которой осуществляется вызов функции Maximal), то стрелка перейдет на первую строку кода внутри этой функции. Напротив, если при достижении строки 15 мы выберем режим Step Over с пропуском, то стрелка сразу переместится на строку 16 и не будет проходить по строкам кода функции Maxima (> (хотя этот код все равно будет выполнен). Если, выполняя программу, мы попали в функцию, выполнение которой нас не интересует, то существует возможность установить режим Step и вернуться в код, который вызвал данную функцию.

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

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

Нам осталось рассмотреть еще два окна. В процессе отладки в окне Task List / Output появляются еще две вкладки: Command Window (командное окно) и Call Stack (стек вызовов).

Немедленное выполнение команд

Окно Command Window имеет два режима: Command (командный) и Immediate (немедленного выполнения). В режиме Command операции VS выполняются без использования меню и т. п., а режим Immediate позволяет выполнять код в промежутках между выполнением обычных строк кода н вычислять значения выражений. В режиме Command в начале каждой строки появляется символ “больше” (>). Мы можем перейти в режим немедленного выполнения команд, набрав “immed" и нажав Enter, а вернуться назад можно, набрав “>cmd" и нажав Enter.

Этот раздел будет посвящен в основном режиму Immediate, поскольку режим Command по-настоящему полезен только прн выполнении сложных операций.

Самый простой вариант использования этого окна — для вычисления выражений, что в некотором смысле напоминает "одноразовое" использование окон Watch. Для этого достаточно просто ввести выражение и нажать Enter. Запрашиваемая информация немедленно будет выведена на экран (см. рис. справа).

Здесь же можно внести необходимые изменения в содержимое переменной (см. рис. слева).

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

Гогг Т’^г,,| V/r.di'i'..¦ - Inri:ei::«!e OI
Mrarncd и
testAcray[3] • 10
20
у
«Г.,. •, • г Л *Р
150

Глава 7

Окно стека вызовов

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

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

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

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

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

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