Скачиваний:
55
Добавлен:
01.04.2014
Размер:
960 Кб
Скачать

58.Отладка программ в vs. Точка останова. Установка точек останова. Команды и окна отладки.

Отладка является существенной частью процесса программ-я. Если программа выполняется до конца, но при этом делает не то, что для нее планировалось, нужно выяснить, что же происходит на самом деле. Для этого придется обратиться к отладчику.

Терминология отладки

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

  • Go – выполнять до следующей точки останова или до конца программы, если далее не встретятся точки останова.

  • Restart – возобновить выполнение прог-мы с самого начала.

  • Step Over – выполнить только след-й оператор и снова остан-ся. Если оператор с точкой останова оказался вызовом функции, выполнить ее полностью и остановиться после возврата из нее.

  • Step into – выполнить только следующий оператор, но если он окажется вызовом функции, войти в нее и остановиться на первом же операторе внутри функции.

  • Step Out – выполнить всю оставшуюся часть ф-ции и остан-ся на первом же операторе ф-ции, кот-я вызвала данную функцию.

  • Run To Cursor – продолжить выполнение программы и остановиться на операторе, на котором находится курсор.

Команды и окна отладки

Visual Studio имеет мощный отладчик с богатым пользовательским интерфейсом. Он содержит команды меню, пиктограммы панели инструментов и окна, которые используются только при отладке.

Команды меню

Интерфейс пользователя, выполняющего отладку, включает следующие команды меню.

  • Edit->Breakpoints

  • View->DebugWidows ->Watch

  • View->DebugWidows ->Call Stack

  • View->DebugWidows ->Memory

  • View->DebugWidows ->Variables

  • View->DebugWidows ->Registers

  • View->DebugWidows ->Dissassembly

  • Build->Start Debug->Go

  • Build->Start Debug->Step Into

  • Build->Start Debug->Run To Cursor

  • Build->Start Debug->Attach to Process

  • Build->Debugger Remote Connection

Как только вы приступили к отладке, вместо меню Build появляется меню Debug, включающее следующие пункты.

1.Debug->Go 8.Debug->Run To Cursor

2.Debug->Restart 9. Debug->Step Into Specific Function

3.Debug->Stop 10.Debugging Debug->Exceptions

4.Debug->Break 11. Debug->Threads

5.Debug->Step Into 12.Debug->Show Next Statement

6.Debug->Step Over 13.Debug->Quick Watch

7.Debug->Step Out

В меню Debug дублируются некоторые из пунктов каскадных меню Build->Start Debug. Рассмотрим отдельные команды меню.

Установка точек останова

Проще всего установить точку останова, поместив курсор на оператор программы, перед выполнением которого вы желаете остановиться. Точка останова устанавливается с помощью клавиши <F9> или пиктограммы Insert/Remove breakpoint панели инструментов Build, которая имеет вид поднятой руки. Красная точка слева от оператора отметит точку останова.

При выборе пункта меню Edit->Breakpoints на экран выводится диалоговое окно для установки простых или условных точек останова. Например, можно остановиться там, где изменяется некоторое значение переменной. Можно также установить условные точки останова, такие как прервать выполнение программы, когда i достигает 100 и не щелкать на Go 100 раз.