Как включить visual studio

Основы программирования на языке С++

Microsoft Visual Studio — это набор инструментов разработки, основанных на использовании компонентов и других технологий для создания мощных, производительных приложений.

Кроме того, среда Visual Studio оптимизирована для совместного проектирования, разработки и развертывания корпоративных решений.

Также Visual Studio позволяет создавать проекты, имеющие пользовательский интерфейс (GUI), работая с разными компонентами, такими как формы, кнопки, списки, меню и т.д.

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

Рассмотрим версию Visual Studio 2010.

При загрузке приложения из меню Пуск/Программы/Microsoft Visual Studio 2010 появляется главное окно c начальной страницей программы, которое представлено на рис. 3.1.

Начальная страница Visual Studio 2010

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

Для создания программы необходимо нажать Файл/Создать/Проект или нажать на стартовой странице Visual Studio2010 быструю ссылку Создать проект, выделенную синим цветом. После выбора создания нового проекта появится другое диалоговое окно Создать проект, где необходимо выбрать требуемые опции, а именно: в левом столбце необходимо выбрать Visual C++/Win32, справа наверху – Консольное приложение Win32, справа внизу вписать имя проекта (например, proga1 ), в графе расположение выбрать вашу папку, где будут храниться все программы, оставить галочку Создать каталог для решения. Диалоговое окно Создать проект представлено на рис. 3.2.

Диалоговое окно Создать проект

После этого нужно нажать ОК. Откроется мастер настройки нашего будущего консольного приложения, который представлен на рис. 3.3.

Окно Мастер приложений Win32

Заготовка нового проекта в Visual Studio 2010

Требуется нажать кнопку Готово. Тогда в главном окне Visual Studio 2010 закроется начальная страница, и откроется файл proga1.cpp (правое верхнее поле), окно вывода ошибок и предупреждений Вывод (правое нижнее поле), Командный обозреватель (левое вертикальное поле). Данный вид представлен на рис. 3.4.

Файл proga1.cpp предназначен для текста программы (или кода программы), здесь мы будем вписывать наши операторы, переменные и функции.

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

Просмотр Обозревателя решений

Вместо командного обозревателя можно включить Обозреватель решений, в котором видно все файлы и папки, созданные для нашего нового проекта. Для этого необходимо под Командным обозревателем нажать кнопку Обозреватель решений. Далее в появившемся списке раскрыть папки Файлы исходного кода и Заголовочные файлы. Окно Visual Studio с Обозревателем решений представлено на рис. 3.5.

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

Рассмотрим заготовку кода, которую нам предлагает Visual Studio.

Первые две строчки начинаются двумя символами "//". Данные символы означают, что далее на этой строчке следует комментарий, он не воспринимается компилятором как код программы и не будет выдавать ошибку. Удалять эти две строчки не рекомендуется.

Далее следует строчка #include "stdafx.h" . Данная строка необходима для сборки нашего проекта. Файл stdafx.h – это один из файлов, автоматически создаваемых для нашей программы, и его можно увидеть в левом столбце Обозревателя решений. Эту строчку также нельзя удалять.

Успешное построение проекта

Далее начинается функция int main() . Автоматически Visual Studio называет ее _tmain и вписывает аргументы int argc, _TCHAR* argv[] . У нас будут самые простые программы для начинающих программистов, поэтому мы изменяем эту строчку и приводим ее к виду: int main() и оставляем return 0 , или void main() и стираем return 0 . После проведенной нами подготовки необходимо собрать проект, нажав в меню Построение/Построить решение. Тогда в поле Вывод начинается проверка нашего кода. Сейчас проверка прошла успешно и проект построился. Окно Visual Studio после сборки проекта представлено на рис. 3.6.

Попробуем теперь запустить нашу пустую программу. Для этого на клавиатуре необходимо нажать Ctrl+F5 . Тогда появится консоль со стандартной надписью после выполнения программы "Для продолжения нажмите любую клавишу…". Консоль представлена на рис. 3.7.

Консоль выполнения программы

После просмотра консоли закройте ее, нажав на крестик.

Теперь можно составить простейшую программу, которая напишет на экране фразу "PRIVET, STUDENT. " . В код нашей заготовки нужно добавить несколько строк:

Итак, итоговый код программы представлен на рис. 3.8.

Файл с кодом программы

После этого опять строим решение, т.к. код программы был изменен. Если построение выполнилось успешно, то можно запускать программу, нажав Ctrl+F5 . Если же построение выдало ошибки, то нужно еще раз все проверить, исправить код, после этого построить проект еще раз. Консоль представлена на рис. 3.9.

Консоль выполнения программы

Конечно, в процессе работы с приложением Visual Studio может возникнуть множество вопросов. В меню программы предусмотрена справка и стандартные примеры, которые можно посмотреть. Чтобы включить справку, необходимо нажать Справка/Просмотр справки или воспользоваться горячими клавишами Ctrl+F1 . Чтобы посмотреть примеры кодов, в меню нужно выбрать Справка/Примеры .

Среда Visual Studio (от версии 4.0 до Community 2019)

Microsoft Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств.
Данные продукты позволяют разрабатывать как консольные приложения , так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms , а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows , Windows Mobile, Windows CE, .NET Framework , Xbox, Windows Phone, .NET Compact Framework и Silverlight.

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

Эволюцию, структуру и функциональные возможности Visual Studio рассмотрим подробнее.

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

Компоненты. Visual Studio включает один или несколько компонентов из следующих:
1) Visual Basic .NET, а до его появления — Visual Basic
2) Visual C++, Visual C# (включён начиная с Visual Studio .NET)
3) Visual F# (язык функционального программирования, включён начиная с Visual Studio 2010)

Многие варианты поставки также включают:
Microsoft SQL Server либо Microsoft SQL Server Express — средства для работы с базами данных.

История и краткая характеристика версий

До выхода Visual Studio Version 4.0 среды разработки Visual Basic 3, Visual C++, Visual FoxPro и Source Safe поставлялись в качестве самостоятельных пакетов. История версий представлена в таблице:

Официальное
название
Кодовое
название
Внутренняя
версия
Версии
.NET Framework
Дата
выхода
Visual Studio нет 4.0 нет Апрель 1995
Visual Studio 97 Boston 5.0 нет Февраль 1997
Visual Studio 6.0 Aspen 6.0 нет Июнь 1998
Visual Studio .NET (2002) Rainier 7.0 1.0 2002-02-13
Visual Studio .NET 2003 Everett 7.1 1.1 2003-04-24
Visual Studio 2005 Whidbey 8.0 2.0, 3.0 2005-11-07
Visual Studio 2008 Orcas 9.0 2.0, 3.0, 3.5 2007-11-19
Visual Studio 2010 Dev10/Rosario 10.0 2.0 — 4.0 2010-04-12
Visual Studio 2012 Dev11 11.0 2.0 — 4.5.2 2012-08-15
Visual Studio 2013 Dev12 12.0 2.0 — 4.5.2 2013-10-17
Visual Studio 2015 Dev14 14.0 2.0 — 4.6 2015-07-20
Visual Studio 2017 Dev15 15.0 2.0 — 4.6.2; Core 1.0 2017-03-07
Visual Studio 2019 Dev16 16.3 2.0 — .Net Core 3.1 2019-12-03

Visual Studio 6.0 — последняя версия Visual Studio, работающая на платформе Windows 9x (выпущена в июне 1998 года). Данная версия являлась основной средой разработки приложений под Windows от Microsoft до появления платформы .NET. По-прежнему используется в целях поддержки старых разработок, поскольку является последней версией продукта для написания на «классическом» Visual Basic.

Visual Studio .NET выпущена в феврале 2002 года (включает .NET Framework 1.0 ). Service Pack 1 для Visual Studio .NET (2002) выпущен в марте 2002 года. Visual Studio включает поддержку языка C# 1.0 .

Visual Studio .NET 2003 выпущена в апреле 2003 года ( включает .NET Framework 1.1 ). В апреле 2005 года Microsoft объявила о специальном выпуске среды, получившей название Microsoft Visual Studio .NET 2003 Professional Special Edition.

Visual Studio 2005 выпущена в конце октября 2005 года (включает .NET Framework 2.0 ). Последняя официально работающая на Windows 2000. Visual Studio включает поддержку языка C# 2.0 . В начале ноября 2005 года также вышла серия продуктов в редакции Express : Visual C++ 2005 Express, Visual Basic 2005 Express, Visual C# 2005 Express и др. С апреля 2006 года редакция Express стала бесплатной.

Visual Studio 2008 выпущена 19 ноября 2007 года, одновременно с .NET Framework 3.5 . Нацелена на создание приложений для ОС Windows Vista (но поддерживает и XP), Microsoft Office 2007 и веб-приложений. Включает в себя LINQ, новые версии языков C# и Visual Basic. В студию не вошёл Visual J#. С 28 октября 2008 года впервые доступна версия на русском языке. Visual Studio включает поддержку языка C# 3.0 .

Visual Studio 2010 выпущена 12 апреля 2010 года вместе с .NET Framework 4.0. Visual Studio включает поддержку языков C# 4.0 и Visual Basic .NET 10.0, а также языка F#, отсутствовавшего в предыдущих версиях.

Visual Studio 2012 распространяется в тех же редакциях, что и 2010. Изменения коснулись Visual Studio 2012 Express — устанавливаются все языки программирования, а не один, как раньше , а также теперь существует пять версий Visual Studio Express:
1) Visual Studio Express 2012 для Web,
2) Visual Studio Express 2012 для Windows 8,
3) Visual Studio Express 2012 для Windows Desktop,
4) Visual Studio Express 2012 для Windows Phone
5) Visual Studio Team Foundation Server Express 2012.

Финальный релиз Visual Studio 2013 стал доступен в октябре 2013 года вместе с .NET 4.5.1.

Visual Studio 2015.12 ноября 2014 года было объявлено, что «Visual Studio 2015» принято в качестве окончательного варианта имени продукта. Visual Studio 2015 предоставляется в трёх редакциях: бесплатной Community Edition, объединяющей все Express-версии , и платных Professional Edition для небольших проектов и Enterprise Edition для крупных проектов. Финальный релиз Visual Studio 2015 стал доступен для скачивания 20 июля 2015 года.

Visual Studio 2017. 7 марта 2017 года новая версия Visual Studio была выпущена и стала доступна для загрузки. 5 апреля 2017 года вышло обновление VS 2017 версии 15.1 с поддержкой .NET Framework 4.7 .

Visual Studio 2019. 2 апреля 2019 года новая версия Visual Studio была выпущена и стала доступна для загрузки. В частности, содержит платформу .NET Core 3.1 (c 3 декабря 2019 года), основанную на .NET Framework и язык C# 8.0 . Платформа .NET Core отличается от неё модульностью, кроссплатформенностью, возможностью применения облачных технологий, и тем, что в ней произошло разделение между библиотекой CoreFX и средой выполнения CoreCLR

Возможности, решения и технологии вы можете посмотреть на странице: https://visualstudio.microsoft.com/ru/vs/

Редакции (комплекты для разработчиков) Visual Studio (справка):

Visual Studio Express. Бесплатная версия. Ныне полностью вытеснена Visual Studio Community, которая представляет собой бесплатный аналог Visual Studio Professional и обладает практически тем же функционалом, что и последняя.
Visual Studio Community. Бесплатная полнофункциональная интегрированная среда разработки для учащихся, разработчиков открытого ПО и отдельных разработчиков. Рекомендуем обратить внимание!
Платные версии:
Studio Standard. Данная редакция предоставляет среду разработки для всех поддерживаемых продуктов и поддерживает полную версию библиотеки MSDN. Поддерживается как редактирование XML и XSLT, так и средства для тестирования объектов.
Visual Studio Professional. Редакция включает все возможности Standard Edition, расширяя их дополнительными, такими, как интеграция с Microsoft SQL Server и поддержка удалённой отладки.
Visual Studio Team System. Предоставляет набор инструментов для совместной разработки, подсчёта метрик и создания отчётов, в дополнение к возможностям Professional редакции.

ВЫВОД.

Для обучения программированию на языке Си шарп вы можете бесплатно и легально установить Visual C# 2010 Express или Visual Studio 2019 Community с пакетом «Разработка классических приложений .Net»

Разработка классических приложений .NET

Создание WPF, форм Windows Forms и консольных приложений с помощью C#, Visual Basic и F#. Вам доступно создание приложений Windows с помощью Windows Presentation Foundation и Windows Forms. Вы также можете создавать веб-приложения .NET Framework, а также клиентские приложения для компьютеров и устройств, публикуемые в Microsoft Store.

Компоненты

— Средства разработки классических приложений .NET
— Средства разработки для .NET Framework 4.x
— Средства профилирования .NET
— Поддержка языков C# и Visual Basic
— Инструменты для Entity Framework 6
— IntelliTrace
— JIT-отладчик
— Live Unit Testing
— Live Share

Как запустить отладку в visual studio

Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.

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

Настройка поведения выполнения нескольких процессов

Поиск исходных файлов и файлов символов (.pdb)

Запуск нескольких процессов в решении VS, присоединение к процессу, автоматический запуск процесса в отладчике

Переключение процессов, приостановка и продолжение выполнения, пошаговое выполнение исходного кода

Остановка отладки, окончание или отсоединение от процессов

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

В меню Отладка выберите Параметры и настройки.

На странице Отладка, Общие снимите флажок Прерывать все процессы при прерывании одного.

Описание

Для отображения и пошагового выполнения исходного кода процесса отладчику требуется доступ к исходным файлам и файлам символов процесса. Подробнее см. раздел Указание файлов символов (.pdb) и файлов с исходным кодом.

Если не удается получить доступ к файлам процесса, для перемещения по коду можно воспользоваться окном "Дизассемблирование". См. раздел Практическое руководство. Использование окна дизассемблирования.

Описание

  • Запуск отладки нескольких процессов в решении Visual Studio • Смена запускаемого проекта • Запуск конкретного проекта в решении • Запуск нескольких проектов в решении • Присоединение к процессу • Автоматический запуск процесса в отладчике

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

Присоединитесь к дочернему процессу после того, как он запущен.

Настройте параметры Windows таким образом, что дочерний процесс автоматически запускался в новом экземпляре отладчика.

Запуск отладки нескольких процессов в решении Visual Studio

Если в решении Visual Studio имеется несколько проектов, которые могут выполняться независимо (проекты, выполняемые в отдельных процессах), можно выбрать, какие проекты запускаются отладчиком.

Смена запускаемого проекта

Чтобы сменить запускаемый проект для решения, выберите проект в Обозревателе решений, затем выберите пункт Назначить запускаемым проектом в контекстном меню.

Запуск конкретного проекта в решении

Чтобы запустить проект для решения, не сменяя запускаемый по умолчанию проект, выберите требуемый проект в Обозревателе решений и выберите команду Отладка в контекстном меню. Затем можно выбрать команду Запустить новый экземпляр или Шаг с заходом в новый экземпляр.

Запуск нескольких процессов в решении VS, присоединение к процессу, автоматический запуск процесса в отладчике

Описание

Запуск нескольких проектов в решении

В Обозревателе решений выберите решение, затем в контекстном меню выберите Свойства.

Выберите Общие свойства, Запускаемый проект в диалоговом окне Свойства.

Для каждого проекта, который необходимо изменить, выберите Запустить, Запуск без отладки или Нет.

Запуск нескольких процессов в решении VS, присоединение к процессу, автоматический запуск процесса в отладчике

Описание

Присоединение к процессу

Отладчик может также присоединяться к программам, выполняемым в процессах вне Visual Studio, включая программы, которые работают на удаленном устройстве. После присоединения к программе можно использовать команды отладчика, проверять состояние программы и выполнять другие действия. Возможности проверки программы могут быть ограничены в зависимости от того, была ли программа собрана с отладочной информацией, имеется ли доступ к исходному коду программы, а также отслеживает ли JIT-компилятор среды CLR отладочную информацию.

Присоединение к процессу, выполняющемуся на локальном компьютере

Выберите Отладка, Присоединиться к процессу. В диалоговом окне Присоединение к процессу выделите процесс в списке Доступные процессы и нажмите кнопку Присоединиться.

Описание

Автоматический запуск процесса в отладчике

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

Запустите Редактор реестра (regedit.exe).

Перейдите к папке HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionImage File Execution Options.

Выберите папку приложения, которое требуется запустить в отладчике.

Если имя приложения не перечислено как дочерняя папка, выберите Параметры выполнения файла изображения и затем выберите Создать, Раздел в контекстном меню. Выберите новый раздел, в контекстном меню выберите команду Переименовать, а затем введите имя приложения.

В контекстном меню папки приложения выберите Создать, Строковый параметр.

Поменяйте имя нового значения с New Value на debugger .

В контекстном меню записи "debugger" выберите Изменить.

В диалоговом окне изменения строкового параметра введите vsjitdebugger.exe в поле Значение.

Описание

  • Переключение между процессами • Команды прерывания, пошагового выполнения и продолжения выполнения

Переключение между процессами

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

Установка текущего процесса

На панели инструментов "Место отладки" выберите Процесс, чтобы отобразить список Процесс. Выберите процесс, который требуется установить в качестве текущего процесса.

Если панель инструментов Место отладки не отображается, выберите Сервис, Настроить. На вкладке Панели инструментов выберите Место отладки.

Откройте окно Процессы (сочетание клавиш: Ctrl+Alt+Z), чтобы найти процесс, который необходимо сделать текущим процессом, и дважды щелкните его.

Текущий процесс будет отмечен желтой стрелкой.

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

Переключение процессов, приостановка и продолжение выполнения, пошаговое выполнение исходного кода

Описание

Команды прерывания, пошагового выполнения и продолжения выполнения

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

Флажок установлен (по умолчанию)

— Прервать все

— Continue

— Шаг с заходом
— Шаг с обходом
— Шаг с выходом

Затем все процессы приостанавливаются.

Приостановленные процессы возобновляются.

Выполняемые процессы продолжают выполняться.

— Шаг с заходом (только текущий процесс)
— Шаг с обходом (только текущий процесс)
— Шаг с выходом (только текущий процесс)

Недоступно Текущий процесс выполняется пошагово.

Остальные процессы сохраняют свое текущее состояние (остаются приостановленными или продолжают выполняться).

— Точка останова

— Выполнить до текущей позиции

Окно исходного кода должно находиться в текущем процессе.

После этого приостанавливаются все остальные процессы.

Остальные процессы сохраняют свое текущее состояние (остаются приостановленными или продолжают выполняться).

— Остановить процесс

Недоступно Выбранный процесс приостанавливается.

Остальные процессы сохраняют свое текущее состояние (остаются приостановленными или продолжают выполняться).

— Продолжить процесс

Недоступно Выбранный процесс возобновляется.

Остальные процессы сохраняют свое текущее состояние (остаются приостановленными или продолжают выполняться).

Переключение процессов, приостановка и продолжение выполнения, пошаговое выполнение исходного кода

Описание

  • Команды остановки, окончания и отсоединения

Когда в отладчике одновременно открыто несколько процессов, команда Отладка, Остановить отладку по умолчанию приводит к остановке или отсоединению от всех процессов в зависимости от того, каким образом тот или иной процесс был открыт в отладчике.

Если текущий процесс был запущен в отладчике, этот процесс завершается.

Если отладчик был присоединен к текущему процессу, отладчик отсоединяется от процесса, не прекращая его выполнение.

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

Примечание

Параметр Прерывать все процессы при прерывании одного не влияет на поведение остановки отладки, завершения процессов и отсоединения от процессов.

Изменение влияния команды "Остановить отладку" на отдельный процесс

  • Откройте окно Процессы (сочетание клавиш: Ctrl+Alt+Z). Выберите процесс и установите либо снимите флажок Отсоединиться при остановке отладки.

Команды остановки, окончания и отсоединения

Команда Описание
Меню Отладка:

— Остановить отладку

Если поведение не изменено параметром Отсоединиться при остановке отладки окна Процессы:

1. Процессы, запущенные отладчиком, завершаются.
2. Присоединенные процессы отсоединяются от отладчика.

Меню Отладка:

— Завершить все

Все процессы завершаются. Меню Отладка:

— Отсоединить все

Отладчик отсоединяется от всех процессов. Контекстное меню окна Процессы:

— Отсоединить процесс

Отладчик отсоединяется от выбранного процесса.

Остальные процессы сохраняют свое текущее состояние (остаются приостановленными или продолжают выполняться).

Контекстное меню окна Процессы:

— Завершить процесс

Выбранный процесс завершается.

Остальные процессы сохраняют свое текущее состояние (остаются приостановленными или продолжают выполняться).

Контекстное меню окна Процессы:

— Отсоединиться при остановке отладки

Переключает поведение команды Отладка, Остановить отладку для выбранного процесса:

— Флажок установлен: отладчик отсоединяется от процесса.
— Флажок снят: процесс завершается.

Остановка отладки, окончание или отсоединение от процессов

Описание

Всем доброго времени суток. На связи Алексей Гулынин. В прошлой статье мы познакомились с ключевыми словами ref и out в C#. В данной статье я бы хотел немного поговорить про отладку кода в Visual Studio.

В состав Visual Studio входит мощный отладчик, который позволяет расставлять точки остановки ( breakpoints ), запускать программу под этим отладчиком, пошагово её отлаживать. Пошагово можно отлаживать каждый оператор, можно отлаживать, входя в какой-то метод или не входя в метод. В любой момент можно посмотреть значение локальной переменной, вычислить какое-нибудь выражение. Можно посмотреть стек вызовов. Давайте на каком-нибудь примере разберем, как отлаживать код в Visual Studio :

Давайте поставим точку остановки. Это можно сделать двумя путями. Нажать клавишу "F9" , и на той строке, на которой находится курсор, будет точка остановки. Также можно нажать слева от строки на помеченную область:

Теперь можно запустить программу, и на брейкпойнте она остановится. Но остановка произойдёт только в том случае, если вы запустили программу под отладчиком. Самый простой способ запустить программу под отладчиком – это нажать клавишу F5 , а не Ctrl + F5 . Можно также через контекстное меню Debug :

Когда программа дойдёт до брейкпойнта, то её выполнение приостановится. Точка, на которой сейчас происходит выполнение программы, выделяется желтым цветом:

Пока программа приостановлена, можно посмотреть значение переменных. В Autos заносятся переменные автоматически, в Locals находятся локальные переменные, в Watch можно самим что-нибудь набрать (я набрал i*3 и i*5 ) и посмотреть результаты:

После этого можно нажать F5 и выполнение программы пойдёт дальше (или к следующему брейкпойнту, если такой имеется). В нашем случае программа перейдёт к следующему, так как у нас организован цикл. Также можно выполнить отладку по шагам. F10 – выполнить шаг без захода в метод (функцию), F11 – выполнить шаг с заходом в метод (функцию).

Домашнее задание: попробуйте написать программу, которая будет вычислять факториал числа и отладить её.

В данной небольшой статье вы узнали как просто можно отлаживать код в Visual Studio

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.

Наш добрый друг Pic4a, составил для тебя подробный tutorial по отладке в Visual Studio. Enjoy!

Отладка – неотъемлемый этап цикла разработки приложений, зачастую более важный, чем написание кода. Именно отладка позволяет устранить проблемные места в коде, которые приводят к разного рода ошибкам. В этой статье речь пойдет о том, как отлаживать приложения в среде Visual Studio и какие механизмы её облегчают. Предполагается, что читатель в общих чертах уже знаком что из себя представляет процесс отладки. Все примеры воспроизведены в Visual Studio 2008, но актуальны для любой версии.

Точки останова

Любой алгоритм выполняется последовательно, одна инструкция за другой. Точка остановки позволяет приостановить выполнение кода на определенной инструкции. Это необходимо, чтобы начать отладку с предположительно проблемного участка. Например, при модульной структуре проекта проблемы начались при подключении нового модуля. Незачем отлаживать весь проект, когда можно отладить только модуль. Точки остановки сильно облегчают процесс в этом случае. Для того, чтобы установить точку остановки необходимо кликнуть на небольшую область, выделенную как правило особым цветом, в левой части редактора кода. Также это можно сделать, установив каретку на нужную строку и нажав F9.

При установке точки останова в окне редактора кода будет выведена иконка напротив строки кода.

Клик левой кнопкой мыши по иконке приведет к удалению точки остановки, а для управления необходимо открыть контекстное меню (клик правой кнопкой).

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

Работа с выводом отладчика

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

Посмотреть вывод всей возможной информации можно во вкладке Debug->Window.

Breakpoints – информация обо всех точках остановки в отлаживаемом проекте.

Output – окно вывода Visual Studio. Используется для вывода служебных сообщений при работе со средой.

Watch – список наблюдаемых переменных. Переменные для наблюдения вносятся в список вручную и находятся там всегда, пока их не удалит разработчик.

Autos – переменные, с которыми идет работа в данный момент. Т.е. актуальные на момент исполнения кода переменные и их значения.

Locals – вывод локальных переменных и их значений.

Immediate – поиск и вывод значения переменной по символьному представлению. В отличие от Watch, не хранит список значений, а выводит значение по требованию.

Call Stack – стек вызовов. Показывает последовательность вызовов функций для отлаживаемого модуля до точки остановки.

Threads – вывод информации обо всех запущенных потоках отлаживаемого модуля. Из этого окна возможна работа с потоками через контекстное меню: остановка потоков, переход к исходному коду потока и т.д.

Modules – список загруженных модулей, необходимых для работы отлаживаемого (которые он подгружает для работы).

Processes – список процессов отлаживаемого модуля.

Memory – просмотр памяти отлаживаемого модуля в традиционном для любого hex-редактора виде.

Disassembly – просмотр ассемблерного листинга для отлаживаемого модуля. Очень хорошая возможность прямо из среды разработки посмотреть, как в итоге выглядит код на высокоуровневом языке.

Registers – вывод значений в регистрах

Что следует знать при работе c выводом отладчика

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

Окно Watch поддерживает так называемые псевдопеременные. Своего рода макросы для определенных значений. Например, для вывода результата GetLastError после каждой строчки кода. Подробнее об этом можно прочитать здесь. Также Watch выполняет арифметические операции с переменными, а для managed-кода может выполнять код.

Пошаговая отладка

Для того чтобы начать процесс отладки, необходимо поставить точку остановки в нужном месте и запустить модуль. Отладка станет доступна по достижению точки остановки. Также можно принудительно остановить выполнение модуля, в таком случае курсор автоматически переместится на код, который выполнялся до остановки. Но точка остановки при этом не установится.
Во время отладки в панели инструментов Visual Studio доступен Debug Toolbar. Если его нет, включить его можно, отметив элемент меню Debug во вкладке View->Toolbars.

Все кнопки в панели инструментов повторяют вкладку Debug, нас в данный момент интересует навигация по отлаживаемому коду. В качестве примера рассмотрим следующую ситуацию:

шаг со входом. (f11) Если отладка остановилась на вызове функции, шаг со входом необходим для того, чтобы остановить выполнение модуля внутри тела функции. Т.е. если внутри функции нет точки остановки, можно продолжить пошаговое выполнение, выполнив шаг со входом. Обратите внимание, в данном примере шаг со входом остановит выполнение программы внутри функции get_message, а не hello, т.к. сначала выполняется она. Т.е. шаг со входом в данном случае остановит выполнение модуля на строке 5.

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

шаг с выходом. (Shift + f11) В этом случае отладчик остановит выполнение модуля после выхода из текущей функции, где происходит отладка. В данном примере будет выход из функции main и переключение на отладку кода CRT.

Во время пошаговой отладки важно также знать, что курсор можно передвинуть на необходимую строчку кода (Drag&Drop). Т.е. при желании заново отладить алгоритм не нужно перезапускать процесс отладки. Правда следует понимать, что в этом случае ожидаемое поведение программы не гарантировано. Разработчик должен отдавать отчет своим действиям. Например, в случае ниже программист получит ошибку, если передвинет курсор на строку 9, т.к. память для с еще не была выделена.

Заключение

Процесс отладки в Visual Studio является одним из самых простых, если сравнивать с другими IDE. В статье были рассмотрены общие средства отладки для различных технологий. Тем не менее, в зависимости от типа проекта, средства для отладки могут дополняться. Например, при отладке GPU-кода. Да и возможности по отладке пошли далеко вперед после Visual Studio 2008 в сторону упрощения. Быть в курсе последних событий поможет тематический раздел в MSDN.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *