Пошаговое выполнение программы

Для пошаговой отладки употребляют специальную панель инструментов (Рис. 19.7).


Рис. 19.7.Особая панель инструментов отладки

Либо набор жарких кнопок (которые дублируют работу специальной панели инструментов), перечень которых представлен ниже:

· Continue (F5) - продолжить выполнение программки.

· Stop debugging (Shift+F5) - приостановить отладку. При всем этом остановится и выполнение программки.

· Restart (Ctrl+Shift+F5) - перезапустить программку. Выполнение Пошаговое выполнение программы программки будет прервано и запустится поновой;

· Show Next Statement (Alt + Num *) - показать последующий оператор, т.е переместить курсор редактора кода в курсор пошагового выполнения;

· Step Into (F11) - выполнить очередной оператор. Если это способ, то перейти в начало этого способа, чтоб начать отладку;

· Step Over (F10) - выполнить очередной оператор. Если это Пошаговое выполнение программы способ, то он будет вполне выполнен, т.е. курсор выполнения не будет заходить вовнутрь способа;

· Step out (Shift + F11) - выйти из способа.

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

· Autos Пошаговое выполнение программы;

· Locals;

· Watch;

· Immediate;

· Threads;

· Parallel Task;

· Parallel Stacks.

Окно Autos

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

· Name - заглавие переменной;

· Value - значение переменной;

· Type - тип переменной.


прирастить изображение
Рис. 19.8.Окно Autos

Окно Locals

Окно Locals (Рис. 19.9) показывает все переменные и их значения для текущей области видимости отладчика, что дает представление обо всех переменных, которые употребляются в текущем выполняющемся способе. Переменные в этом окне автоматом настраиваются отладчиком Пошаговое выполнение программы. Данное окно содержит последующие столбцы:

· Name - заглавие переменной;

· Value - значение переменной;

· Type - тип переменной.


прирастить изображение
Рис. 19.9.Окно Locals

Окно Watch

Окно Watch либо окно контрольных значений (Рис. 19.10) - позволяет настраивать свой перечень переменных и выражений, которые нужно выслеживать. Всего доступно четыре окна Watch (Watch 1, Watch 2, Watch 3 и Watch 4), что позволяет выделить в четыре перечня переменные Пошаговое выполнение программы и выражения, данную возможность комфортно использовать в этом случае, если каждый перечень относится к отдельной области видимости приложения. Переменные либо выражение в окно Watch добавляются либо из редактора кода, либо из окна QuickWatch. Если необходимо добавить в окно Watch элемент из редактора кода, то необходимо выделить подходящую переменную либо Пошаговое выполнение программы выражение, щелкнуть по ней правой кнопкой мыши и выбирать пункт Add Watch. Также можно перетаскивать, при помощи мыши, выделенный элемент в окно Watch. Данное окно содержит последующие столбцы:

· Name - заглавие переменной;

· Value - значение переменной;

· Type - тип переменной.


Рис. 19.10.Окно Watch

Окно Immediate

Окно Immediate либо конкретное выполнение (Рис Пошаговое выполнение программы. 19.11) - создано для ручного ввода и выполнения команд. Это окно возникает автоматом при прерывании работы программки в точках останова программки. Для выполнения команды либо оператора нужно написать команду и надавить кнопку .


Рис. 19.11.Окно Immediate

Окно Threads

Окно Threads (Рис. 19.12) - позволяет просматривать и управлять всеми запущенными потокам на разных шагах отладки приложения.


прирастить изображение
Рис Пошаговое выполнение программы. 19.12.Окно Threads

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

Таблица 19.3. Столбцы окна отладки Threads
Имя столбца Описание
Флаги Указывает, какие потоки помечены Пошаговое выполнение программы, и позволяет помечать потоки и снимать с их метки.
Значки Желтоватая стрелка показывает активный поток. Контур стрелки показывает поток, где выполнение было передано в отладчик. Белоснежная стрелка показывает прерванную задачку, т.е. задачку, которая была текущей во время вызова отладчика. Значок паузы показывает поток, замороженный юзером.
ID Столбец содержит идентификационные номера Пошаговое выполнение программы всех потоков.
Managed ID В столбце содержаться управляемые идентификационные номера управляемых потоков.
Category В данном столбце потоки классифицируются по категориям: потоки пользовательского интерфейса, обработчики удаленного вызова процедур (RPC) и рабочие потоки. Особенная категория идентифицирует главный поток приложения.
Name Столбец, в каком для каждого потока указывается имя, если оно Пошаговое выполнение программы имеется, либо значение .
Location В данном столбце показывается, где поток производится. Можно развернуть это размещение, чтоб показать полный стек вызова для потока.
Priority Столбец содержит ценность потока, назначенный системой каждому сгустку.
Affinity Mask Дополнительный столбец, который обычно укрыт. В этом столбце показывается маска сходства микропроцессора для каждого потока Пошаговое выполнение программы. В многопроцессорной системе маска сходства определяет, какой микропроцессор, в каком потоке может работать.
Suspended Столбец содержит счетчик приостановок. Этот счетчик определяет, может ли поток производиться.

Окно Parallel Task

Окно Parallel Task (Рис. 19.13) либо окно параллельных задач - смотрится как окно Threads (потоки), кроме того, что показывает сведения о каждой задачке либо объекте Пошаговое выполнение программы task_handle, заместо сведений о каждом потоке. Как и потоки, задачки представляют асинхронные операции, которые могут производиться параллельно, но несколько задач могут производиться в одном потоке.


Рис. 19.13.Окно Parallel Task

Сведения о столбцах окна Parallel Tasks представлены в Табл. 19.4.

Таблица 19.4. Столбцы окна Parallel Task
Имя столбца Описание
Флаги Пошаговое выполнение программы Указывает, какие задачки помечены, и позволяет помечать задачки и снимать с их метки.
Значки Рядом с текущей задачей отображается желтоватая стрелка. Текущая задачка находится на самом верхнем уровне текущего потока. Белоснежная стрелка показывает прерванную задачку, т.е. задачку, которая была текущей во время вызова отладчика. Значок паузы показывает задачку, замороженную юзером Пошаговое выполнение программы.
ID Столбец содержит предоставленный системой номер задачки. В машинном коде этот номер является адресом задачки.
Status Столбец показывает текущее состояние задачки: · Запланированная задачка - это задачка, которая еще не производилась и, как следует, не имеет стека вызова, назначенного потока и других соответственных сведений. · Запущенная задачка - это задачка, которая делала Пошаговое выполнение программы код, пока не была прервана в отладчике. · Находящаяся в ожидании задачка - это задачка, заблокированная вследствие ожидания сигнала действия, освобождения блокировки либо окончания другой задачки. · Заблокированная задачка - это находящаяся в ожидании задачка, чей поток заблокирован другим потоком.
Location Столбец, который показывает текущее размещение в стеке вызова задачки.
Task Столбец Пошаговое выполнение программы показывает начальный способ и аргументы, которые были переданы в задачку при ее разработке.
Parent Столбец содержит идентификатор задачки, создавшей данную задачку. Если эта ячейка пуста, то у задачки нет родительской задачки. Это применимо только для управляемых программ.
Thread Assignment Данный столбец содержит идентификатор и имя потока, в каком запущена задачка Пошаговое выполнение программы.
AppDomain Столбец содержит информацию о домене приложения (для управляемого кода), в каком производится задачка.
task_group Столбец показывает информацию о адресок объекта task_group, который запланировал задачку. Для асинхронных агентов и облегченных задач этот столбец содержит значение 0.

Окно Parallel Stacks

Окно Parallel Stacks либо параллельные стеки (Рис. 19.14) - это окно Пошаговое выполнение программы используется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения. Оно также позволяет перебегать в разные потоки и кадры стека в потоках.


прирастить изображение
Рис. 19.14.Окно Parallel Stacks

На Рис. 19.14 - путь вызова текущего потока выделен, голубым, а активный кадр стека обозначается желтоватой стрелкой. Текущий кадр стека можно Пошаговое выполнение программы поменять, выбрав другой способ в окне Parallel Stacks. При всем этом также может поменяться текущий поток зависимо от того, заходит ли избранный способ в текущий поток либо является частью другого потока. В Табл. 19.5 представлены составляющие окна Parallel Stacks

Таблица 19.5. Составляющие окна Parallel Stacks
Имя элемента Описание
A Сектор либо Пошаговое выполнение программы узел стека вызова Содержит последовательности контекстов способов для 1-го либо нескольких потоков. Если узел не имеет линий со стрелками, то он представляет собой единый путь вызова для потоков.
B Голубое выделение Показывает путь вызова текущего потока.
C Полосы со стрелками Соединяют узлы и демонстрируют единый путь вызова для потоков.
D Пошаговое выполнение программы Всплывающая подсказка заголовка узла Указывает идентификатор и пользовательское имя каждого потока, путь вызова которого употребляет данный узел.
E Контекст способа Представляет один либо несколько кадров стека 1-го способа.
F Всплывающая подсказка для контекста способа Указывает подробные сведения всех кадров стека, которые представляются контекстом способа. Кадры стека для текущего Пошаговое выполнение программы потока показываются жирным шрифтом.

В Табл. 19.6 описываются значки, которые предоставляют сведения об активных и текущих кадрах стека.

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

На Рис. 19.15 и в Табл. 19.7 представлены элементы управления, доступные на панели управления "Параллельные стеки".


Рис. 19.15.Элементы управления окна Parallel Stacks

Таблица 19.7. Элементы управления окна Parallel Stacks
Отран управления Пошаговое выполнение программы Описание
A Поле со перечнем "Потоки"/"Задачки" Переключает отображение меж стеками вызова для потоков и стеками вызова для задач.
B Демонстрировать только помеченные Показывает стеки вызова только для потоков (либо задач), помеченных в окнах "Потоки" либо "Параллельные задачки".
C Представление способа Переключает представление стека и представление способа.
D Автопрокрутка Пошаговое выполнение программы к текущему кадру стека Автоматом прокручивает схему для отображения текущего кадра стека. Этот компонент используется при изменении текущего кадра стека из других окон либо при возникновении точки останова в больших диаграммах.
E Переключить отран управления масштабом Показывает либо прячет отран управления масштабом. Чтоб поменять масштаб, можно Пошаговое выполнение программы также надавить кнопку CTRL и повернуть колесо мыши вне зависимости от того, где находится элемент управления.


pos-ashukino-mkr-n-roshmel.html
posadka-derevev-i-kustarnikov.html
posadka-i-uhod-za-malinoj.html