Как запустить код в visual studio code
Как запустить код в visual studio code
Как запустить код в VS Code?
4 ответа 4
В вопросе не указана ОС. Если Windows, то:
В большинстве случаев никакие конфигурационные файлы править не нужно.
Также обратите внимание, что привычное для руководств alert(«Hello World»); работать не будет, попробуйте console.log(«Hello World»);
Ну тут есть несколько способов.
Указываете url как на картинке(путь к файлу, который вы собираетесь запустить). Создаёте базовый html и вставляете туда скрипт.
2) Способ похож на предыдущий, но немного лучше: надо скачать node js. Установка в несколько пунктов(загуглите). Запустить localhost. Тут уже никаких путей к файлу указывать не надо.
3) Установить расширение code runner, выделить код в файле и нажать ctrl + alt + n. У меня этот способ почему-то не работает.
Visual Studio Code – редактор кода для Python
Для написания реального проекта на Python не подойдет обычный текстовый редактор или стандартная IDLE. Чтобы упростить процесс написания кода, избежать глупых ошибок и получить все необходимые инструменты в одной «коробке», программисты используют специальные редакторы кода или профессиональные IDE.
Что такое Visual Studio Code
VS Code – это редактор кода, который поддерживает большинство популярных языков программирования. К его преимуществам можно отнести:
Несмотря на небольшой размер, VS Code поддерживает все необходимые инструменты для разработки полноценного проекта, например: рефакторинг, интеграцию с Git, отладку и другие.
Установка
VS Code — кроссплатформенное приложение, его можно установить на любую популярную операционную систему.
Windows
Для установки на Windows необходимо:
Linux
Зачастую VS Code есть в репозиториях. В этом случае достаточно выполнить команду в терминале: « sudo apt install vscode «.
Также возможен и следующий вариант установки:
MacOS
Для установки на MacOS нужно:
Настройка для Python: полезные плагины
Для установки плагина необходимо:
На экране выше выбрано установленное расширение. Его можно удалить (Uninstall) или отключить не удаляя (Disable).
Python (от Microsoft)
Расширение «Python» от компании Microsoft – это первое и главное расширения для программиста на Python.
Оно не только добавляет поддержку языка, но и реализует такие функции, как подсветка синтаксиса, отладка, тестирование, форматирование и умное дополнение кода.
Обычно хватает для разработки этого расширения, но при необходимости можно взглянуть и на другие.
autoDocstring (автор Nils Werner)
Плагин позволяет быстро создавать документацию для функций. Доступно несколько форматов документации: стандартная, Google, NumPy и другие.
Писать документацию для функций очень важно, потому что с её помощью другие программисты понимают, что делает функция и зачем она нужна. Для крупного проекта пишется огромный объем документации, расширение autoDocstring значительно упрощает этот процесс и экономит время программистов.
Code Runner (автор Jun Han)
Название расширения полностью описывает его назначение. С его помощью можно выполнять код (не только на языке Python) и выводить результаты в специальное встроенное окно.
Расширение позволяет не переключаться между редактором и терминалом, потому что результаты выводятся в специальное встроенное окно «OUTPUT».
Trailing Spaces by Shardul Mahadik (автор Shardul Mahadik)
Правильность работы кода на Python напрямую зависит от отступов, которые определяют вложенность блоков кода. Неправильные отступы (лишний пробел, сочетание пробелов и табуляций) часто приводят к ошибкам, плагин решает эту проблему. Он подсвечивает завершающие пробелы и позволяет удалить их одним кликом.
Better Comments (автор Aaron Bond)
Плагин позволяет создавать более продвинутые комментарии, которые подсвечиваются разными цветами в зависимости от их типа:
Djaneiro (автор Scott Barkman)
Коллекция сниппетов (фрагментов кода) для шаблонов, моделей и форм Django. Импортирован в VS Code из текстового редактора Sublime Text.
flask-snippets (автор cstrap)
Аналогично Djaneiro плагин импортирован из других редакторов, он позволяет использовать большое количество сниппетов для фрейморка Flask.
Code Linting
Плагин позволяет находить синтаксические и стилистические проблемы в коде на Python. Проблемные участки кода выделяются красной волнистой линией, благодаря плагину программист может обнаружить ошибку, даже не запуская код.
Для того чтобы включить Linting в VS Code, его нужно установить через менеджер пакетов: « pip install pylint »
Запуск кода
Запустить код на Python можно не выходя из программы, процесс довольно удобен, но может отличаться в зависимости от установленных плагинов.
Стандартный запуск кода
Необходимо нажать в любое место файла правой кнопкой мыши и выбрать в контекстном меню пункт «Run Python File In Terminal» (можно воспользоваться зеленой кнопкой воспроизведения в правом верхнем углу).
Затем в нижней части экрана откроется встроенный в VS Code терминал, в котором будет отображен результат выполнения файла, а также его директория.
Запуск кода с Code Runner
Если в VS Code добавлено расширение Code Runner, то запустить код можно:
В отличии от стандартного метода, Code Runner выводит результаты в специальное окно Output, а не в терминал. Кроме того, он также отображает информацию о коде ошибки и времени выполнения скрипта.
Работа с проектом
VS Code позволяет работать с большим количеством файлов и папок, в нём легко создавать, удалять и систематизировать их. Помимо этого, в редакторе кода реализованы такие вещи, как тестирование, отладка и интеграция с Git.
Тестирование
VS Code способен автоматически распознавать тесты, написанные с помощью unittest, pytest или Nose фреймворков.
Для того чтобы запустить существующий тест, необходимо открыть его в редакторе, нажать правой кнопкой мыши в любом месте файла и выбрать пункт «Run Current Test File». Программа предложит определить структуру и местоположение тестов в проекте, а также создать шаблон для тестов. Все указанные данные сохраняются в настройках рабочего пространства, в файле settings.json.
Тесты, входящие в проект, можно найти, нажав на нижний значок в нижнем меню (химический сосуд). Оттуда же с помощью зеленой двойной кнопки «плей» можно запустить все тесты.
Отладка
VS Code поддерживает все необходимые функции отладки кода:
Для запуска режима отладки нужно нажать клавишу «F5» или использовать одно из меню (в верхней или левой части экрана). После чего появится возможность выбрать объект отладки:
Программист может поставить точки останова, приостановить отладку и «шагать» по коду. В левой части экрана появляются такие важные меню, как переменные, просмотр, стек вызова и точки останова.
Интеграция с Git
VS Code имеет встроенную поддержку таких систем контроля версий, как Git и GitHub. Кроме того, с помощью плагинов программист может добавить поддержку и других систем, которые можно совместно использовать.
Система контроля версий используется в любом крупном проекте, потому что позволяет избежать багов и ошибок, возникающих в новых версиях проекта (проект просто откатывают на более раннюю версию, где этих ошибок нет).
Для использования функций Git нужно открыть папку с проектом. После этого в боковом меню выбрать кнопку «Source Control». В нём выбираем «Initialize Repjsitory».
Тогда можно делать следующее:
Работа с виртуальной средой (virtualenv)
Виртуальная среда — это контекст (набор зависимостей) в котором выполняется проект. Любая среда прежде всего состоит из интерпретатора и некоторого количества установленных пакетов.
VS Code позволяет много полезных функций для работы с различными средами. По умолчанию Python использует интерпретатор по пути, находящемуся в системной переменной. Если нужно использовать конкретную среду, необходимо открыть палитру команд, нажав сочетание клавиш «Ctrl+Shift+P». Затем ввести туда команду «Python: Select Interpreter».
Также это можно сделать нажав внизу экрана на указанный там текущий интерпретатор. Вы также попадёте в меню выбора и при необходимости можете добавить новый из виртуальной среды.
Переключаться между виртуальными средами можно в любое время. Это бывает очень полезно, когда необходимо протестировать поведение проекта с различными версиями интерпретатора и библиотек.
Заключение
VS Code – это легкий редактор кода, который может похвастаться мощным функционалом для написания кода на Python. Он подойдет не только для написания скриптов, но и для создания серьезных проектов.
С помощью различных плагинов VS Code можно приспособить для выполнения любых задач на Python или любом другом языке.
Практическое руководство. Запуск программы C# в Visual Studio
Способ запуска программы зависит от того, с чего вы начинаете, от типа программы и от необходимости использовать отладчик. В самом простом случае для сборки и запуска открытого проекта в Visual Studio выполните следующие действия.
Запуск из проекта
Если код программы уже находится в проекте Visual Studio, откройте проект. Для этого дважды щелкните CSPROJ-файл в проводнике Windows или выберите пункт Открыть проект в Visual Studio, найдите CSPROJ-файл и выберите его.
Чтобы запустить программу, нажмите клавиши CTRL+F5, выберите Отладка>Запуск без отладки в верхнем меню или нажмите зеленую кнопку Запуск.
Visual Studio пытается выполнить сборку и запуск проекта. В нижней части экрана Visual Studio выходные данные сборки отображаются в окне Выходные данные, а все ошибки сборки — в окне Список ошибок.
Если сборка выполнена успешно, приложение запускается в соответствии с типом проекта. Консольные приложения запускаются в окне терминала, классические приложения Windows запускаются в новом окне, веб-приложения запускаются в браузере, размещенном в IIS Express.
Запуск из кода
Листинг кода для отдельного файла
Несколько листингов кода или файлов на диске
Несколько файлов в папке
Если у вас есть папка с большим количеством файлов, сначала найдите файл проекта или решения. Программы, создаваемые Visual Studio, содержат файлы проекта и решения. В проводнике Windows найдите файлы с расширением .csproj или .sln. Дважды щелкните CSPROJ-файл, чтобы открыть его в Visual Studio. См. раздел Запуск из проекта или решения Visual Studio.
Если код находится в другой среде разработки, файл проекта отсутствует. Откройте папку, выбрав Открыть>Папка в Visual Studio. См. раздел Разработка кода без использования проектов и решений.
Запуск из репозитория Azure DevOps или GitHub
Если код, который вы хотите запустить, находится в GitHub или в репозитории Azure DevOps, можно использовать Visual Studio, чтобы открыть проект непосредственно из репозитория. См. раздел Открытие проекта из репозитория.
Запуск программы
Чтобы начать сборку программы, нажмите зеленую стрелку запуска на панели инструментов Visual Studio либо нажмите клавиши F5 или CTRL+F5. С помощью кнопки Запуск или F5 можно запустить программу в отладчике.
Visual Studio пытается выполнить сборку кода в проекте и запустить его. Если сборка завершится неудачно, ознакомьтесь со следующими разделами, чтобы понять, как успешно собрать проект.
Устранение неполадок
Добавление ссылок
Visual Studio пытается помочь определить отсутствующие ссылки. Если имя не разрешено, в редакторе появляется значок лампочки. Если щелкнуть лампочку, можно увидеть некоторые рекомендации по устранению проблемы. Возможные исправления:
Добавление директивы using
Добавление ссылки на сборку
Вы можете найти сборки и добавить ссылки, следуя инструкциям в разделе Добавление и удаление ссылок с помощью диспетчера ссылок.
Добавление пакета NuGet
Если Visual Studio обнаруживает отсутствующий пакет NuGet, появляется лампочка, позволяющая установить его.
Если это не решает проблему и Visual Studio не удается найти пакет, попробуйте выполнить поиск в Интернете. См. раздел Установка и использование пакета NuGet в Visual Studio.
Tutorial: Learn to debug C++ code using Visual Studio
This article introduces the features of the Visual Studio debugger in a step-by-step walkthrough. If you want a higher-level view of the debugger features, see First look at the debugger. When you debug your app, it usually means that you are running your application with the debugger attached. When you do this, the debugger provides many ways to see what your code is doing while it runs. You can step through your code and look at the values stored in variables, you can set watches on variables to see when values change, you can examine the execution path of your code, see whether a branch of code is running, and so on. If this is the first time that you’ve tried to debug code, you may want to read Debugging for absolute beginners before going through this article.
Although the demo app is C++, most of the features are applicable to C#, Visual Basic, F#, Python, JavaScript, and other languages supported by Visual Studio (F# does not support Edit-and-continue. F# and JavaScript do not support the Autos window). The screenshots are in C++.
In this tutorial, you will:
Prerequisites
You must have Visual Studio installed and the Desktop development with C++ workload.
If you haven’t already installed Visual Studio, go to the Visual Studio downloads page to install it for free.
If you haven’t already installed Visual Studio 2022, go to the Visual Studio 2022 downloads page to install it for free.
Create a project
First, you’ll create a C++ console application project. The project type comes with all the template files you’ll need, before you’ve even added anything!
Open Visual Studio.
If the start window is not open, choose File > Start Window.
On the start window, choose Create a new project.
On the Create a new project window, enter or type console in the search box. Next, choose C++ from the Language list, and then choose Windows from the Platform list.
After you apply the language and platform filters, choose the Console App template, and then choose Next.
If you do not see the Console App template, you can install it from the Create a new project window. In the Not finding what you’re looking for? message, choose the Install more tools and features link. Then, in the Visual Studio Installer, choose the Desktop development with C++ workload.
In the Configure your new project window, type or enter get-started-debugging in the Project name box. Then, choose Create.
Visual Studio opens your new project.
Create the application
In get-started-debugging.cpp, replace all of the default code with the following code instead:
Start the debugger!
Press F5 (Debug > Start Debugging) or the Start Debugging button in the Debug Toolbar.
F5 starts the app with the debugger attached to the app process, but right now we haven’t done anything special to examine the code. So the app just loads and you see the console output.
In this tutorial, we’ll take a closer look at this app using the debugger and get a look at the debugger features.
Stop the debugger by pressing the red stop button (Shift + F5).
In the console window, press a key and Enter to close the console window.
Set a breakpoint and start the debugger
In the for loop of the main function, set a breakpoint by clicking the left margin of the following line of code:
A red circle appears where you set the breakpoint.
Breakpoints are one of the most basic and essential features of reliable debugging. A breakpoint indicates where Visual Studio should suspend your running code so you can take a look at the values of variables, or the behavior of memory, or whether or not a branch of code is getting run.
Press F5 or the Start Debugging button , the app starts, and the debugger runs to the line of code where you set the breakpoint.
The yellow arrow represents the statement on which the debugger paused, which also suspends app execution at the same point (this statement has not yet executed).
If the app is not yet running, F5 starts the debugger and stops at the first breakpoint. Otherwise, F5 continues running the app to the next breakpoint.
Breakpoints are a useful feature when you know the line of code or the section of code that you want to examine in detail. For information on the different types of breakpoints you can set, such as conditional breakpoints, see Using breakpoints.
Navigate code in the debugger using step commands
Mostly, we use the keyboard shortcuts here, because it’s a good way to get fast at executing your app in the debugger (equivalent commands such as menu commands are shown in parentheses).
While paused in the for loop in the main method, press F11 (or choose Debug > Step Into) twice to advance to the SendMessage method call.
After pressing F11 twice, you should be at this line of code:
Press F11 one more time to step into the SendMessage method.
The yellow pointer advances into the SendMessage method.
F11 is the Step Into command and advances the app execution one statement at a time. F11 is a good way to examine the execution flow in the most detail. (To move faster through code, we show you some other options also.) By default, the debugger skips over non-user code (if you want more details, see Just My Code).
Let’s say that you are done examining the SendMessage method, and you want to get out of the method but stay in the debugger. You can do this using the Step Out command.
Press Shift + F11 (or Debug > Step Out).
This command resumes app execution (and advances the debugger) until the current method or function returns.
You should be back in the for loop in the main method, paused at the SendMessage method call.
Press F11 several times until you get back to the SendMessage method call again.
While paused at the method call, press F10 (or choose Debug > Step Over) once.
Notice this time that the debugger does not step into the SendMessage method. F10 advances the debugger without stepping into functions or methods in your app code (the code still executes). By pressing F10 on the SendMessage method call (instead of F11), we skipped over the implementation code for SendMessage (which maybe we’re not interested in right now). For more information on different ways to move through your code, see Navigate code in the debugger.
Navigate code using Run to Click
Press F5 to advance to the breakpoint.
In the code editor, scroll down and hover over the std::wcout function in the SendMessage method until the green Run to Click button appears on the left. The tooltip for the button shows «Run execution to here».
The Run to Click button is new in Visual Studio 2017. (If you don’t see the green arrow button, use F11 in this example instead to advance the debugger to the right place.)
Click the Run to Click button .
The debugger advances to the std::wcout function.
Using this button is similar to setting a temporary breakpoint. Run to Click is handy for getting around quickly within a visible region of app code (you can click in any open file).
Restart your app quickly
Click the Restart button in the Debug Toolbar (Ctrl + Shift + F5).
When you press Restart, it saves time versus stopping the app and restarting the debugger. The debugger pauses at the first breakpoint that is hit by executing code.
The debugger stops again at the breakpoint you previously set inside the for loop.
Inspect variables with data tips
Features that allow you to inspect variables are one of the most useful features of the debugger, and there are different ways to do it. Often, when you try to debug an issue, you are attempting to find out whether variables are storing the values that you expect them to have at a particular time.
While paused on the name += letters[i] statement, hover over the letters variable and you see it’s default value, size= <10>.
Expand the letters variable to see its properties, which include all the elements that the variable contains.
Next, hover over the name variable, and you see its current value, an empty string.
Press F5 (or Debug > Continue) a few times to iterate several times through the for loop, pausing again at the breakpoint, and hovering over the name variable each time to check its value.
Often, when debugging, you want a quick way to check property values on variables, to see whether they are storing the values that you expect them to store, and the data tips are a good way to do it.
Inspect variables with the Autos and Locals windows
Look at the Autos window at the bottom of the code editor.
If it is closed, open it while paused in the debugger by choosing Debug > Windows > Autos.
In the Autos window, you see variables and their current value. The Autos window shows all variables used on the current line or the preceding line (Check documentation for language-specific behavior).
Next, look at the Locals window, in a tab next to the Autos window.
Expand the letters variable to show the elements that it contains.
The Locals window shows you the variables that are in the current scope, that is, the current execution context.
Set a watch
In the main code editor window, right-click the name variable and choose Add Watch.
The Watch window opens at the bottom of the code editor. You can use a Watch window to specify a variable (or an expression) that you want to keep an eye on.
Now, you have a watch set on the name variable, and you can see its value change as you move through the debugger. Unlike the other variable windows, the Watch window always shows the variables that you are watching (they’re grayed out when out of scope).
Examine the call stack
While paused in the for loop, click the Call Stack window, which is by default open in the lower right pane.
If it is closed, open it while paused in the debugger by choosing Debug > Windows > Call Stack.
Click F11 a few times until you see the debugger pause in the SendMessage method. Look at the Call Stack window.
The Call Stack window shows the order in which methods and functions are getting called. The top line shows the current function (the SendMessage method in this app). The second line shows that SendMessage was called from the main method, and so on.
The Call Stack window is similar to the Debug perspective in some IDEs like Eclipse.
The call stack is a good way to examine and understand the execution flow of an app.
You can double-click a line of code to go look at that source code and that also changes the current scope being inspected by the debugger. This action does not advance the debugger.
You can also use right-click menus from the Call Stack window to do other things. For example, you can insert breakpoints into specified functions, advance the debugger using Run to Cursor, and go examine source code. For more information, see How to: Examine the Call Stack.
Change the execution flow
Press F11 twice to run the std::wcout function.
Press F11.
The debugger reruns the std::wcout function (you see this in the console window output).
By changing the execution flow, you can do things like test different code execution paths or rerun code without restarting the debugger.
Often you need to be careful with this feature, and you see a warning in the tooltip. You may see other warnings, too. Moving the pointer cannot revert your application to an earlier app state.
Press F5 to continue running the app.
Congratulations on completing this tutorial!
Next steps
In this tutorial, you’ve learned how to start the debugger, step through code, and inspect variables. You may want to get a high-level look at debugger features along with links to more information.
Знакомство с отладчиком Visual Studio
В этом разделе представлены средства отладчика, предоставляемые Visual Studio. В контексте Visual Studio отладка приложения обычно означает запуск приложения с подключенным отладчиком (то есть в режиме отладчика). При этом в отладчике доступно множество способов наблюдения за выполнением кода. Вы можете пошагово перемещаться по коду и просматривать значения, хранящиеся в переменных, задавать контрольные значения для переменных, чтобы отслеживать изменение значений, изучать путь выполнения кода и т. д. Если вы не знакомы с процессом отладки, перед выполнением задач в этом разделе рекомендуется прочесть документ об отладке для начинающих.
Описанные здесь функции применяются к C#, C++, Visual Basic, JavaScript и другим языкам, поддерживаемым Visual Studio (если не указано иное).
Установка точки останова и запуск отладчика
Точки останова полезны, если вам известны строка или раздел кода, которые вы хотите подробно изучить в среде выполнения. Дополнительные сведения о различных типах точек останова, которые можно задать, например об условных точках останова и точках останова в функциях, см. в разделе Использование точек останова.
Для отладки нужно запустить приложение с отладчиком, подключенным к процессу приложения. Для этого чаще всего используется клавиша F5 (Отладка > Начать отладку). Однако сейчас у вас, возможно, не задано ни одной точки останова для проверки кода приложения, поэтому мы сначала зададим их, а затем начнем отладку. Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода.
Если вы открыли файл в редакторе кода, точку останова можно задать, щелкнув в поле слева от строки кода.
Нажмите клавишу F5 (Отладка > Начать отладку) или кнопку Начать отладку на панели инструментов отладки. При этом отладчик выполняется до первой встреченной точки останова. Если приложение еще не запущено, при нажатии клавиши F5 запускается отладчик и выполняется остановка в первой точке останова.
Переход по коду в отладчике с помощью пошаговых команд
Мы указываем сочетания клавиш для большинства команд, так как они ускоряют навигацию по коду вашего приложения. (Аналогичные команды, такие как команды меню, отображаются в круглых скобках.) Дополнительные сведения об использовании команд пошагового выполнения см. в разделе Навигация по коду в отладчике.
Для запуска приложения с подключенным отладчиком нажмите клавишу F11 (Отладка > Шаг с заходом). F11 — это команда Шаг с заходом, которая выполняет приложение с переходом к следующему оператору. При запуске приложения с помощью клавиши F11 отладчик останавливается на первом выполняемом операторе.
Желтая стрелка представляет оператор, на котором приостановлен отладчик. В этой же точке приостанавливается выполнение приложения (этот оператор пока не выполнен).
Клавишу F11 удобно использовать для более детальной проверки потока выполнения. (Мы также покажем другие варианты более быстрого перемещения по коду.) По умолчанию отладчик пропускает непользовательский код (дополнительные сведения см. в статье об отладке в режиме «Только мой код»).
В управляемом коде вы увидите диалоговое окно с запросом о том, хотите ли вы получать уведомления при автоматическом обходе свойств и операторов (поведение по умолчанию). Если вы хотите изменить этот параметр позже, отключите параметр Шаг с обходом свойств и операторов в меню Инструменты > Параметры в разделе Отладка.
Шаг с обходом по коду для пропуска функций
Когда вы находитесь в строке кода, представляющей собой вызов функции или метода, можно нажать клавишу F10 (Отладка > Шаг с обходом) вместо F11.
Клавиша F10 продолжает выполнение отладчика без захода в функции или методы в коде приложения (код продолжает выполняться). Нажав клавишу F10, вы можете обойти код, который вас не интересует. Так можно быстро перейти к важному для вас коду. Дополнительные сведения об использовании команд пошагового выполнения см. в разделе Навигация по коду в отладчике.
Быстрое выполнение до точки в коде с помощью мыши
Использование кнопки Выполнение до щелкнутого аналогично установке временной точки останова. Кроме того, эта команда удобна для быстрой работы в видимой области кода приложения. Выполнение до щелкнутого можно использовать в любом открытом файле. Дополнительные сведения об этой функции и аналогичных функциях навигации см. в разделе Выполнение до определенного места в коде.
Находясь в отладчике, наведите курсор на строку кода, пока слева не появится кнопка выполнения до щелкнутого (Выполнение до этого места) .
Кнопка Выполнить о щелчка (Выполнить до этого места) доступна начиная с Visual Studio 2017.
Нажмите кнопку выполнения до щелкнутого (Выполнить до этого места). Отладчик продолжает выполнение до строки кода, которую вы щелкнули.
Вывод отладчика из текущей функции
В некоторых случаях может потребоваться продолжить сеанс отладки, однако полностью проведя отладчик сквозь текущую функцию.
Нажмите сочетание клавиш SHIFT + F11 (или выберите Отладка > Шаг с выходом).
Эта команда возобновляет выполнение приложения (и перемещает отладчик) до возврата текущей функции.
Выполнить до текущей позиции
Если вы находитесь в режиме редактирования кода (то есть работа отладчика не приостановлена), щелкните правой кнопкой мыши строку кода в приложении и выберите команду Выполнить до текущей позиции (или нажмите клавиши CTRL+F10). Эта команда запускает отладку и задает временную точку останова на текущей строке кода. Дополнительные сведения об этой функции и аналогичных функциях навигации см. в разделе Выполнение до определенного места в коде.
Если имеются заданные точки останова, отладчик приостанавливается в первой достигнутой точке останова.
Нажимайте клавишу F5, пока не достигнете строки кода, для которой выбрали Выполнить до текущей позиции.
Эта команда удобна, когда вы редактируете код и хотите быстро задать временную точку останова и одновременно запустить отладчик.
Вы можете использовать функцию Выполнить до текущей позиции в окне Стек вызовов во время отладки.
Быстрый перезапуск приложения
Нажмите кнопку Перезапустить на панели инструментов отладки (или нажмите сочетание клавиш CTRL+SHIFT+F5).
Кнопка Перезапустить позволяет сэкономить время, затрачиваемое на остановку приложения и перезапуск отладчика. Отладчик приостанавливается в первой точке останова, достигнутой при выполнении кода.
Если вы хотите остановить отладчик и вернуться в редактор кода, вы можете нажать красную кнопку вместо Перезапустить.
Редактирование кода в реальном времени
Visual Studio 2022 поддерживает динамическое редактирование кода в процессе отладки. Дополнительные сведения см. в следующих разделах.
Изменение кода и продолжение отладки (C#, VB, C++, XAML)
В большинстве языков, поддерживаемых Visual Studio, можно изменять код во время сеанса отладки, а затем продолжать отладку. Для использования этой функции щелкните код, чтобы установить в нем курсор, когда отладчик приостановлен, внесите изменения и нажмите клавишу F5, F10 или F11, чтобы продолжить отладку. Дополнительные сведения об этой функции и ее ограничениях см. в статье Изменить и продолжить.
Сведения об изменении кода XAML во время сеанса отладки см. в статье Создание и отладка выполняющегося кода XAML с помощью горячей перезагрузки XAML.
Проверка переменных с помощью подсказок по данным
Теперь, когда вы немного освоились, у вас есть хорошая возможность проверить состояние приложения (переменные) с помощью отладчика. Функции, позволяющие проверять переменные, являются одними из самых полезных в отладчике. Реализовывать эту задачу можно разными способами. Часто при попытке выполнить отладку проблемы пользователь старается выяснить, хранятся ли в переменных значения, которые требуются в определенном состоянии приложения. Подробные сведения об использовании подсказок по данным см. в разделе Просмотр значений данных в подсказках по данным.
В режиме приостановки в отладчике наведите указатель мыши на объект, чтобы увидеть его текущее значение или значение по умолчанию.
Если переменная имеет свойства, объект можно развернуть, чтобы увидеть все его свойства.
Часто при отладке бывает необходимо быстро проверить значения свойств для объектов. Лучше всего для этого подходят подсказки по данным.
В большинстве поддерживаемых языков можно изменять код во время сеанса отладки. Дополнительные сведения см. в разделе Изменить и продолжить.
Проверка переменных с помощью окон «Видимые» и «Локальные»
В окне Видимые отображаются переменные вместе с текущим значением и типом. Окно Видимые показывает все переменные, используемые в текущей или предыдущей строке (в C++ это окно показывает переменные в трех предыдущих строках кода; сведения о поведении для конкретного языка см. в документации). Дополнительные сведения об использовании этих окон см. в статье Проверка переменных в окнах «Видимые» и «Локальные».
Во время отладки взгляните на окно Видимые в нижней части редактора кода.
В JavaScript окно Локальные поддерживается, а окно Видимые — нет.
Взгляните в окно Локальные. В окне Локальные показаны переменные, которые находятся в текущей области.
В этом примере объекты this и f находятся в области действия. Дополнительные сведения см. в статье Проверка переменных в окнах «Видимые» и «Локальные».
Установка контрольного значения
В окне Контрольное значение можно указать переменную (или выражение), которую необходимо отслеживать. Дополнительные сведения см. в статье Установка контрольных значений с помощью окон «Контрольное значение» и «Быстрая проверка».
Во время отладки щелкните правой объект кнопкой мыши и выберите пункт Добавить контрольное значение.
В этом примере у вас есть контрольное значение, заданное для объекта, и по мере перемещения по отладчику вы можете наблюдать за изменением его значения. В отличие от других окон переменных, в окне Контрольное значение всегда отображаются просматриваемые вами переменные (они выделяются серым цветом, когда находятся вне области действия).
Просмотр стека вызовов
В окне Стек вызовов показан порядок вызова методов и функций. В верхней строке показана текущая функция. Во второй строке показана функция или свойство, из которого она вызывалась, и т. д. Стек вызовов хорошо подходит для изучения и анализа потока выполнения приложения. Дополнительные сведения см. в статье о просмотре стека вызовов.
Окно Стек вызовов аналогично перспективе «Отладка» в некоторых интегрированных средах разработки, например Eclipse.
Во время отладки щелкните окно Стек вызовов, которое по умолчанию открыто в нижней правой области.
Дважды щелкните строку кода, чтобы просмотреть исходный код. При этом также изменится текущая область, проверяемая отладчиком. Это не перемещает отладчик.
Для выполнения других задач можно воспользоваться контекстными меню из окна Стек вызовов. Например, можно вставлять точки останова в указанные функции, перезапускать приложение с помощью функции Выполнение до текущей позиции и изучать исходный код.
Проверка исключения
Когда приложение выдает исключение, отладчик переходит к строке кода, вызвавшей исключение. Подробные сведения см. в разделе Проверка исключения с помощью помощника по исправлению ошибок.
В этом примере помощник по исправлению ошибок показывает исключение System.Argument и сообщение об ошибке, где сказано, что путь имеет недопустимую форму. Таким образом, мы знаем, что ошибка произошла в аргументе метода или функции.
Помощник по исправлению ошибок — это отличная функция, которая помогает отлаживать ошибки. Используя помощник по исправлению ошибок, вы также можете, например, просмотреть сведения об ошибке и добавить контрольное значение. При необходимости вы также можете изменить условия для возникновения конкретного исключения. См. дополнительные сведения об обработке исключений в коде в разделе Приемы и инструменты отладки.
Разверните узел Параметры исключений, чтобы просмотреть дополнительные параметры для обработки исключения этого типа, однако в рамках этого тура ничего менять не требуется.
Настройка отладки
Вы можете настроить проект для сборки, как описано в статье о конфигурации отладки или выпуска, настроить свойства проекта для отладки или настроить общие параметры для отладки. Кроме того, можно настроить отладчик для вывода пользовательских сведений с помощью таких компонентов, как атрибута DebuggerDisplay либо платформы NatVis для C/C++.
Свойства отладки зависят от типа проекта. Например, можно задать аргумент, который будет передан в приложение при запуске. Чтобы получить доступ к свойствам проекта приложения, щелкните имя проекта правой кнопкой мыши в обозревателе решений и выберите Свойства. Свойства отладки обычно отображаются на вкладке Сборка или Отладка в зависимости от типа проекта.
Отладка интерактивных приложений ASP.NET в Службе приложений Azure
Средство Snapshot Debugger создает моментальный снимок рабочих приложений при выполнении интересующего вас кода. Чтобы указать отладчику на необходимость создать моментальный снимок, следует установить точки прикрепления и точки ведения в коде. Отладчик позволяет увидеть источник ошибки, не затрагивая трафик рабочего приложения. Средство Snapshot Debugger позволяет значительно сократить затраты времени на устранение проблем, возникающих в рабочих средах.
Просмотр моментальных снимков с помощью возврата на шаг назад в IntelliTrace (Visual Studio Enterprise)
Функция возврата на шаг назад в IntelliTrace автоматически создает моментальный снимок вашего приложения для каждого события точки останова и шага отладчика. Используя записанные моментальные снимки, вы можете возвращаться к этим точкам останова и шагам, просматривая предыдущее состояние приложения. Возможность возврата на шаг назад в IntelliTrace позволяет сэкономить время в тех случаях, когда вам нужно просмотреть предыдущее состояние приложения, но не требуется перезапускать отладку или воссоздавать необходимое состояние приложения.
Для просмотра моментальных снимков и перехода между ними используйте кнопки На шаг назад и На шаг вперед на панели инструментов отладки. С помощью этих кнопок можно перейти к событиям, которые отображаются на вкладке События в окне Средства диагностики.
Отладка проблем производительности
Если приложение работает слишком медленно или использует слишком много памяти, возможно, вам следует протестировать его с помощью средств профилирования на раннем этапе. Дополнительные сведения о средствах профилирования, таких как средство загрузки ЦП и анализатор памяти, см. в разделе Знакомство со средствами профилирования.
Следующие шаги
В этом руководстве вы кратко познакомились с функциями отладчика. Отдельные функции, например точки останова, вы можете изучить более подробно.
Use breakpoints in the Visual Studio debugger (Использование точек останова в отладчике Visual Studio)
How to debug for absolute beginners
This article applies to Visual Studio 2017. If you’re looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
Without fail, the code we write as software developers doesn’t always do what we expected it to do. Sometimes it does something completely different! When this happens, the next task is to figure out why, and although we might be tempted to just keep staring at our code for hours, it’s much easier and efficient to use a debugging tool, or debugger.
A debugger, unfortunately, isn’t something that can magically reveal all the problems or “bugs” in our code. Debugging means to run your code step by step in a debugging tool like Visual Studio, to find the exact point where you made a programming mistake. You then understand what corrections you need to make in your code, and debugging tools often allow you to make temporary changes so you can continue running the program.
Using a debugger effectively is also a skill that takes time and practice to learn but is ultimately a fundamental task for every software developer. In this article, then, we introduce the core principles of debugging and provide tips to get you started.
Clarify the problem by asking yourself the right questions
It helps to clarify the problem that you ran into before you try to fix it. We expect that you already ran into a problem in your code, otherwise you wouldn’t be here trying to figure out how to debug it! So, before you start debugging, make sure you’ve identified the problem you’re trying to solve:
What did you expect your code to do?
What happened instead?
If you ran into an error (exception) while running your app, that can be a good thing! An exception is an unexpected event encountered when running code, typically an error of some kind. A debugging tool can take you to the exact place in your code where the exception occurred and can help you investigate possible fixes.
If something else happened, what is the symptom of the problem? Do you already suspect where this problem occurred in your code? For example, if your code displays some text, but the text is incorrect, you know that either your data is bad or the code that set the display text has some kind of bug. By stepping through the code in a debugger, you can examine each and every change to your variables to discover exactly when and how incorrect values are assigned.
Examine your assumptions
Before you investigate a bug or an error, think of the assumptions that made you expect a certain result. Hidden or unknown assumptions can get in the way of identifying a problem even when you are looking right at the cause of the problem in a debugger. You may have a long list of possible assumptions! Here are a few questions to ask yourself to challenge your assumptions.
Are you using the right API (that is, the right object, function, method, or property)? An API that you’re using might not do what you think it does. (After you examine the API call in the debugger, fixing it may require a trip to the documentation to help identify the correct API.)
Are you using an API correctly? Maybe you used the right API but didn’t use it in the right way.
Does your code contain any typos? Some typos, like a simple misspelling of a variable name, can be difficult to see, especially when working with languages that don’t require variables to be declared before they’re used.
Did you make a change to your code and assume it is unrelated to the problem that you’re seeing?
Did you expect an object or variable to contain a certain value (or a certain type of value) that’s different from what really happened?
Do you know the intent of the code? It is often more difficult to debug someone else’s code. If it’s not your code, it’s possible you might need to spend time learning exactly what the code does before you can debug it effectively.
When writing code, start small, and start with code that works! (Good sample code is helpful here.) Sometimes, it is easier to fix a large or complicated set of code by starting with a small piece of code that demonstrates the core task you are trying to achieve. Then, you can modify or add code incrementally, testing at each point for errors.
By questioning your assumptions, you may reduce the time it takes to find a problem in your code. You may also reduce the time it takes to fix a problem.
Step through your code in debugging mode to find where the problem occurred
When you normally run an app, you see errors and incorrect results only after the code has run. A program might also terminate unexpectedly without telling you why.
Running an app within a debugger, also called debugging mode, means that the debugger actively monitors everything that’s happening as the program runs. It also allows you to pause the app at any point to examine its state, and to then step through your code line by line to watch every detail as it happens.
In Visual Studio, you enter debugging mode by using F5 (or the Debug > Start Debugging menu command or the Start Debugging button in the Debug Toolbar). If any exceptions occur, Visual Studio’s Exception Helper takes you to the exact point where the exception occurred and provides other helpful information. For more information on how to handle exceptions in your code, see Debugging techniques and tools.
If you didn’t get an exception, you probably have a good idea where to look for the problem in your code. This is where you use breakpoints with the debugger to give yourself a chance to examine your code more carefully. Breakpoints are the most basic and essential feature of reliable debugging. A breakpoint indicates where Visual Studio should pause your running code so you can take a look at the values of variables, or the behavior of memory, or the sequence in which code runs.
In Visual Studio, you can quickly set a breakpoint by clicking in the left margin next to a line of code. Or place the cursor on a line and press F9.
To help illustrate these concepts, we take you through some example code that already has several bugs. We are using C#, but the debugging features apply to Visual Basic, C++, JavaScript, Python, and other supported languages. Sample code for Visual Basic is also provided, but screenshots are in C#.
Create a sample app (with some bugs)
Next, we will create an application that has a few bugs.
You must have Visual Studio installed and the .NET Core cross platform development workload installed.
If you haven’t already installed Visual Studio, go to the Visual Studio downloads page to install it for free.
If you need to install the workload but already have Visual Studio, click Tools > Get Tools and Features. The Visual Studio Installer launches. Choose the .NET Core cross platform development workload, then choose Modify.
Open Visual Studio.
From the top menu bar, choose File > New > Project. In the left pane of the New project dialog box, under Visual C# or Visual Basic, choose Console App, and then in the middle pane choose either Console App (.NET Core). Type a name like ConsoleApp_FirstApp and click OK.
Visual Studio creates the console project, which appears in Solution Explorer in the right pane.
In Program.cs (or Program.vb), replace all the default code with the following code. (Select the correct language tab first, either C# or Visual Basic.)
Our intent for this code is to display the galaxy name, the distance to the galaxy, and the galaxy type all in a list. To debug, it is important to understand the intent of the code. Here is the format for one line from the list that we want to show in the output:
Run the app
Press F5 or the Start Debugging button in the Debug Toolbar, located above the code editor.
The app starts and there are no exceptions shown to us by the debugger. However, the output you see in the console window is not what you expect. Here is the expected output:
But, we see this instead:
Looking at the output and at our code, we know that GType is the name of the class that stores the galaxy type. We are trying to show the actual galaxy type (such as «Spiral»), not the class name!
Debug the app
With the app still running, set a breakpoint by clicking in the left margin next to the Console.WriteLine method call in this line of code.
When you set the breakpoint, a red dot appears in the left margin.
Because we see a problem in the output, we will start debugging by looking at the preceding code that sets the output in the debugger.
Click the Restart button in the Debug Toolbar (Ctrl + Shift + F5).
The app pauses at the breakpoint that you set. The yellow highlighting indicates where the debugger is paused (the yellow line of code has not yet executed).
«Spiral» is actually the correct value you were expecting to print to the console! So it is a good start that you can access this value in this code while running the app. In this scenario, we are using the incorrect API. We will see if we can fix this while running code in the debugger.
For debugging the Visual Basic example code, skip the next few steps until you’re instructed to click the Restart button.
Change the preceding code to this:
Click the Restart button in the Debug Toolbar (Ctrl + Shift + F5) to recompile code and restart.
Remove the breakpoint by clicking on the breakpoint circle in the left margin (or right-click and choose Breakpoint > Delete Breakpoint), and then press F5 to continue.
The app runs and displays output. It looks pretty good now, but you do notice one thing; you expected the Small Magellanic Cloud galaxy to show up as an Irregular galaxy in the console output, but it shows no galaxy type at all.
Set a breakpoint on this line of code before the switch statement (before the Select statement in Visual Basic).
This code is where the galaxy type is set, so we want to take a closer look at it.
Click the Restart button in the Debug Toolbar (Ctrl + Shift + F5) to restart.
The debugger pauses on the line of code where you set the breakpoint.
Press F5 and hover over the type variable again. Repeat this step until you see a value of I in the type variable.
Now, press F11 (Debug > Step Into or the Step Into button in the Debug Toolbar).
F11 advances the debugger (and executes code) one statement at a time. F10 (Step Over) is a similar command, and both are extremely useful when learning how to use the debugger.
Press F11 until you stop on line of code in the switch statement for a value of ‘I’ ( Select statement for Visual Basic). Here, you see a clear problem resulting from a typo. You expected the code to advance to where it sets MyGType as an Irregular galaxy type, but the debugger instead skips this code completely and pauses on the default section of the switch statement ( Else statement in Visual Basic).
Remove your breakpoint, and then click the Restart button to restart the app.
The bugs are fixed now and you see the Output you expect!
Press any key to finish the app.
Summary
When you see a problem, use the debugger and step commands such as F10 and F11 to find the region of code with the problem.
If it is difficult to identify the region of code where the problem occurs, set a breakpoint in code that runs before the problem occurs, and then use step commands until you see the problem manifest. You can also use tracepoints to log messages to the Output window. By looking at logged messages (and noticing which messages were not yet logged!), you can often isolate the region of code with the problem. You may have to repeat this process several times to narrow it down.
When you find the region of code with the problem, use the debugger to investigate. To find the cause of a problem, inspect the problem code while running your app in the debugger:
Inspect variables and check whether they contain the type of values that they should contain. If you find a bad value, find out where the bad value was set (to find where the value was set, you might need to either restart the debugger, look at the call stack, or both).
Check whether your application is executing the code that you expect. (For example, in the sample application, we expected the code for the switch statement to set the galaxy type to Irregular, but the app skipped the code due to the typo.)
You use a debugger to help you find bugs. A debugging tool can find bugs for you only if it knows the intent of your code. A tool can only know the intent of your code if you, the developer, express that intent. Writing unit tests is how you do that.
Next steps
In this article, you’ve learned a few general debugging concepts. Next, you can start learning more about the debugger.
Quickstart: Debug with C# or Visual Basic using the Visual Studio debugger
The Visual Studio debugger provides many powerful features to help you debug your apps. This topic provides a quick way to learn some of the basic features.
Create a new project
Open Visual Studio and create a new project.
If the start window is not open, choose File > Start Window. On the start window, choose Create a new project.
On the Create a new project window, enter or type console in the search box. Next, choose C# from the Language list, and then choose Windows from the Platform list.
Visual Studio creates the project.
In Program.cs or Module1.vb, replace the following code
In Visual Basic, make sure the startup object is set to Sub Main (Properties > Application > Startup Object).
Set a breakpoint
A breakpoint is a marker that indicates where Visual Studio should suspend your running code so you can take a look at the values of variables, or the behavior of memory, or whether or not a branch of code is getting run. It is the most basic feature in debugging.
To set the breakpoint, click in the gutter to the left of the doWork function call (or select the line of code and press F9).
Now press F5 (or choose Debug > Start Debugging).
The debugger pauses where you set the breakpoint. The statement where the debugger and app execution is paused is indicated by the yellow arrow. The line with the doWork function call hasn’t yet executed.
If you have a breakpoint in a loop or recursion, or if you have many breakpoints that you frequently step through, use a conditional breakpoint to make sure that your code is suspended ONLY when specific conditions are met. A conditional breakpoint can save time and it can also make it easier to debug issues that are hard to reproduce.
Navigate code
There are different commands to instruct the debugger to continue. We show a useful code navigation command that is available starting in Visual Studio 2017.
While paused at the breakpoint, hover over the statement c1.AddLast(20) until the green Run to click button appears, and then press the Run to click button.
Common keyboard commands used to step through code include F10 and F11. For more in-depth instructions, see First look at the debugger.
Inspect variables in a data tip
In the current line of code (marked by the yellow execution pointer), hover over the c1 object with your mouse to show a data tip.
The data tip shows you the current value of the c1 variable and allows you to inspect its properties. When debugging, if you see a value you don’t expect, you probably have a bug in the preceding or calling lines of code.
Expand the data tip to look at the current property values of the c1 object.
If you want to pin the data tip so that you can continue to see the value of c1 while you execute code, click the small pin icon. (You can move the pinned data tip to a convenient location.)
Edit code and continue debugging
If you identify a change that you want to test in your code while in the middle of a debugging session, you can do that, too.
Press F10 (or Debug > Step Over) a few times to advance the debugger and execute the edited code.
F10 advances the debugger one statement at a time, but steps over functions instead of stepping into them (the code that you skip still executes).
For more information on using edit-and-continue and on feature limitations, see Edit and Continue.
Next steps
In this tutorial, you’ve learned how to start the debugger, step through code, and inspect variables. You may want to get a high-level look at debugger features along with links to more information.
Создание и запуск проекта консольного приложения C++
Вы создали проект консольного приложения C++ и ввели код. Теперь вы можете выполнить сборку приложения и запустить его в Visual Studio. Затем запустите его как автономное приложение из командной строки.
Предварительные требования
Установите и запустите на своем компьютере Visual Studio с рабочей нагрузкой «Разработка классических приложений на C++». Если установка еще не выполнена, следуйте инструкциям в статье Установка поддержки C++ в Visual Studio.
Создайте проект Hello, World!» и введите его исходный код. Если вы еще не сделали этого, выполните действия, описанные в разделе Создание проекта консольного приложения С++.
Если Visual Studio выглядит следующим образом, можно приступать к сборке и запуску приложения:
Сборка и запуск кода в Visual Studio
Для сборки проекта выберите в меню Сборка пункт Собрать решение. Окно Вывод отображает результаты процесса сборки.
Чтобы запустить этот код, в строке меню выберите Отладка и Запуск без отладки.
Поздравляем! Вы создали свое первое консольное приложение «Hello, world!» в Visual Studio! Нажмите любую клавишу, чтобы закрыть окно консоли и вернуться в редактор Visual Studio.
Выполнение кода в командном окне
Обычно консольные приложения запускаются из командной строки, а не в Visual Studio. После того как приложение будет создано в Visual Studio, его можно запустить из любого командного окна. Вот как можно найти и запустить новое приложение в окне командной строки.
В обозревателе решений выберите решение HelloWorld (а не проект HelloWorld) и щелкните правой кнопкой мыши, чтобы открыть контекстное меню. Выберите Открыть папку в проводнике, чтобы открыть окно проводника в папке решения HelloWorld.
В окне проводника откройте папку Debug. В этой папке содержится ваше приложение, HelloWorld.exe и несколько других файлов отладки. Удерживая нажатой клавишу SHIFT, щелкните правой кнопкой мыши HelloWorld.exe, чтобы открыть контекстное меню. Выберите команду Копировать как путь, чтобы скопировать путь к приложению в буфер обмена.
Чтобы открыть окно командной строки, нажмите Windows + R, чтобы открыть диалоговое окно Выполнить. Введите cmd.exe в текстовом поле Открыть, а затем выберите ОК для запуска окна командной строки.
В окне командной строки щелкните правой кнопкой мыши, чтобы вставить путь к приложению в командную строку. Нажмите клавишу ВВОД, чтобы запустить приложение.
Поздравляем! Вы создали и запустили консольное приложение в Visual Studio.
Следующие шаги
После создания и запуска этого простого приложения можно приступать к более сложным проектам. Дополнительные сведения см. в разделе Использование интегрированной среды разработки Visual Studio для разработки приложений для настольных систем на языке C++. В нем содержатся более подробные пошаговые руководства, посвященные возможностям Microsoft C++ в Visual Studio.
Руководство по устранению неполадок
Здесь приведены решения распространенных проблем, которые могут возникнуть при создании первого проекта C++.
Сборка и запуск кода в Visual Studio: проблемы
Если в редакторе исходного кода отображаются красные волнистые линии, то сборка может содержать ошибки или предупреждения. Убедитесь, что код соответствует примеру в написании, пунктуации и регистре.
Выполнение кода в командном окне: проблемы
Если путь, показанный в проводник, заканчивается на папке \HelloWorld\HelloWorld, вы открыли проект HelloWorld вместо решения HelloWorld. Вы перепутаете папку Debug, в которой нет вашего приложения. Перейдите на уровень вверх в проводнике, чтобы открыть папку решения — первый HelloWorld в пути. В этой папке также содержится папка Debug, в которой вы найдете свое приложение.
Можно также открыть папку Debug решения в командной строке, чтобы запустить приложение. Приложение не будет запускаться из других каталогов, если не указан путь к приложению. Однако вы можете скопировать приложение в другой каталог и запустить его из него. Также можно скопировать его в каталог, указанный переменной среды PATH, а затем запустить его из любого места.
Если в контекстном меню отсутствует параметр Копировать как путь, закройте меню, а затем удерживайте нажатой клавишу SHIFT при повторном открытии. Эта команда предназначена только для удобства. Можно также скопировать путь к папке из панели поиска проводника и вставить его в диалоговое окно Выполнить, а затем ввести имя исполняемого файла в конце. При этом потребуется чуть больше действий по вводу текста, но результат будет тем же.
Краткое руководство. Отладка кода C++ с помощью отладчика Visual Studio
Отладчик Visual Studio реализует множество эффективных функций для отладки приложений. В этой статье вы ознакомитесь с некоторыми основными возможностями.
Создание нового проекта
Откройте Visual Studio и создайте проект.
Нажмите клавишу ESC, чтобы закрыть окно запуска. Нажмите CTRL+Q, чтобы открыть поле поиска, введите c++, выберите Шаблоны и затем Create new Console App project (Создание проекта консольного приложения). В появившемся диалоговом окне выберите Создать.
Visual Studio создаст проект.
В файле MyDbgApp.cpp замените код
следующим кодом (не удаляйте #include «stdafx.h» ):
Установка точки останова
Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти, либо выполнение ветви кода. Эта возможность чаще всего используется при отладке.
Чтобы задать точку останова, щелкните в области слева от вызова функции doWork (или выберите строку кода и нажмите клавишу F9).
Нажмите клавишу F5 (или выберите Отладка > Начать отладку).
При наличии точки останова в цикле или рекурсии либо большого числа точек останова, которые вы часто будете просматривать пошагово, используйте условную точку останова, которая позволяет приостанавливать код только при выполнении определенных условий. Использование условных точек останова позволяет сэкономить время и упростить отладку проблем, которые сложно воспроизвести.
При отладке связанных с памятью сбоев в C++ вы также можете использовать точки останова для проверки значений адресов (для поиска значений NULL) и числа ссылок.
Навигация по коду
Чтобы продолжить работу отладчика, можно использовать различные команды. Здесь описываются полезные новые команды для навигации по коду, доступные с версии Visual Studio 2017.
Если выполнение приостановлено в точке останова, наведите указатель мыши на инструкцию c1.push_back(20) и дождитесь, пока появится зеленая кнопка Выполнение до щелкнутого, после чего нажмите кнопку Выполнение до щелкнутого.
Выполнение приложения продолжится путем вызова doWork и будет приостановлено в той строке, в которой вы нажмете эту кнопку.
В процессе пошагового выполнения кода обычно используются клавиши F10 и F11. Более подробные инструкции см. в статье Знакомство с отладчиком Visual Studio.
Проверка переменных в подсказке по данным
Подсказка по данным содержит текущее значение переменной c1 и позволяет проверить ее свойства. Если во время отладки отображается значение, которое вы не ожидали увидеть, возможно, в предыдущей или вызывающей строке кода имеется ошибка.
Чтобы закрепить подсказку по данным и иметь возможность постоянно просматривать значение переменной c1 во время выполнения, щелкните небольшой значок булавки. (При необходимости вы можете переместить закрепленную подсказку по данным в удобное положение.)
Изменение кода и продолжение отладки
Вы можете сделать это во время сеанса отладки, если вам потребуется внести изменения в код.
Нажмите клавишу F10 (или выберите команду Отладка > Шаг с обходом) несколько раз, чтобы пройти вперед и выполнить измененный код.
При нажатии клавиши F10 отладчик каждый раз переходит вперед на одну инструкцию, однако при этом минует функции, не заходя в них (пропускаемый код в таком случае по-прежнему выполняется).
Дополнительные сведения об этом режиме и его ограничениях см. в статье Изменить и продолжить.
Следующие шаги
В этом руководстве вы узнали, как запускать отладчик, осуществлять пошаговое выполнение кода и проверять переменные. Возможно, вы захотите получить более полное представление о функциях отладчика, а также воспользоваться ссылками на дополнительные сведения.
Предварительные требования
Создание приложения
Запустите Visual Studio Code.
В главном меню выберите Файл>Открыть папку (в macOS выберите File>Open. (Файл > Открыть)).
В диалоговом окне Открыть папку создайте папку HelloWorld и выберите ее. Затем щелкните Выбрать папку (или Открыть в macOS).
В диалоговом окне о доверии авторам файлов в этой папке выберите Да, я доверяю авторам.
Откройте терминал в Visual Studio Code, выбрав в основном меню пункт Вид>Терминал.
Откроется окно Терминал с командной строкой в папке HelloWorld.
В окне терминала введите следующую команду:
Шаблон проекта создает простое приложение, которое отображает «Hello World» в окне консоли, вызывая метод Console.WriteLine(String) из файла Program.cs.
Замените содержимое Program.cs кодом из этого примера.
При первом редактировании файла .cs в Visual Studio Code будет предложено добавить недостающие ресурсы для сборки и отладки приложения. Выберите Да и Visual Studio Code создаст папку .vscode с файлами launch.json и tasks.json.
Если запрос не отображается или вы случайно закрываете его без нажатия кнопки «Да«, выполните следующие действия, чтобы создать launch.json и tasks.json:
Запуск приложения
Выполните следующие команды в окне терминала:
Программа отображает «Hello World!» и заканчивается.
Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
Откройте файл Program.cs.
В Program.cs замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
NewLine — это независимый от платформы и языка способ для представления разрыва строки. Его альтернативами являются \n в C# и vbCrLf в Visual Basic.
В Visual Studio Code необходимо явно сохранить изменения. В отличие от Visual Studio, изменения файлов не сохраняются автоматически при сборке и запуске приложения.
Запустите программу еще раз:
Нажмите любую клавишу для выхода из программы.
Дополнительные ресурсы
Следующие шаги
Предварительные требования
Создание приложения
Запустите Visual Studio Code.
В главном меню выберите Файл>Открыть папку (в macOS выберите File>Open. (Файл > Открыть)).
В диалоговом окне Открытие папки создайте папку HelloWorld и щелкните Выбрать папку (в macOS щелкните Open (Открыть)).
Откройте терминал в Visual Studio Code, выбрав в основном меню пункт Вид>Терминал.
Откроется окно Терминал с командной строкой в папке HelloWorld.
В окне терминала введите следующую команду:
Этот шаблон создает простое приложение Hello World. Он вызывает метод Console.WriteLine(String) для вывода «Hello World!» в окне консоли.
Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args.
Запуск приложения
Выполните следующие команды в окне терминала:
Программа отображает «Hello World!» и заканчивается.
Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
Откройте файл Program.cs, щелкнув его.
Когда вы в первый раз открываете файл C# в Visual Studio Code, в редакторе загружается OmniSharp.
Когда в Visual Studio Code будет предложено добавить недостающие ресурсы для сборки и отладки приложения, выберите Да.
В Program.cs замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
NewLine — это независимый от платформы и языка способ для представления разрыва строки. Его альтернативами являются \n в C# и vbCrLf в Visual Basic.
В Visual Studio Code необходимо явно сохранить изменения. В отличие от Visual Studio, изменения файлов не сохраняются автоматически при сборке и запуске приложения.
Запустите программу еще раз:
Нажмите любую клавишу для выхода из программы.
Дополнительные ресурсы
Следующие шаги
Русские Блоги
Как писать и запускать программы на C и C ++ в Visual Studio Code?
Как писать и запускать программы на C и C ++ в Visual Studio Code?
0. Предисловие
Эта статья для начинающих, и каждый шаг более подробный. Прочтите эту статью, чтобы узнать о командной строке, компиляции и отладке программ, а также об использовании VS Code. Если вы чувствуете затруднения в этой статье, я приведу упрощенную версию: установите расширения gcc и c / c ++, откройте папку, щелкните открытый исходный код, F1, создайте и отладьте активный файл и закончите.
Многие материалы этой статьи доступны в официальной документации VS Code:C++ programming with Visual Studio CodeОни также доступны в документации к каждому расширению, и они будут обновляться (эта статья также претерпела несколько серьезных обновлений). Если вы хотите узнать больше, вы можете пойти и посмотреть. Эта статья основана на многих попытках, если есть ошибки, вы можете указать.
Конечный результат: отображение ошибок, фрагментов кода, завершения, форматирования, а также компиляции и отладки одного файла в режиме реального времени на этапе компиляции.
1. Экологическая подготовка
Для Debian Linux sudo apt update; sudo apt install build-essential Вот и все.
Порядок не важен, путь может быть другим, в любом случае убедитесь, что gcc.exe находится в этой папке.
проверка
Нажмите Win + R, запустите cmd (не пропускайте этот шаг), введите gcc, должен появиться запросno input filesВместо того, чтобы «не внутренняя команда или внешняя команда» или «не может распознать элемент« gcc »как имя командлета, функции, файла сценария или исполняемой программы». Если это «не внутренняя команда или внешняя команда», это означает, что папка, в которой находится gcc, не находится в пути переменной среды, и ее необходимо добавить. Если это не так, перезапустите его. Если он не работает после перезапуска, значит, проблема с вашей собственной работой.
Эти две проверкиДолжны встретиться, В противном случае вы должны изменить переменные среды. Быть остороженНе удаляйте по ошибкеВверх.
Не беспокойтесь о лязге, он должен пойти не так. Учебник по clang перемещен в конец статьи
Установить расширение (расширение)
Другие дополнительные расширения:
Расширения не рекомендуются / не требуются:
Дополнительные знания
Содержимое этих файлов показано ниже. После копирования следующего кода Zhihu автоматически добавит несколько строк слов со всеми правами впереди, которые необходимо удалить при фактическом использовании. Некоторые места изменять необязательно, пожалуйста, проверьте примечания сами. Примечание. Если вы пишете на C ++, необходимо изменить место в tasks.json.
код launch.json
externalConsoleВы можете изменить его в соответствии с вашими предпочтениями; cwd может быть относительным путем, когда программа работает, и может быть изменен при необходимости$ (Благодарность
). Я не использовал lldb и больше не скажу. Это нормально, что тип и запрос не меняют цвет.
код tasks.json
Открывать контролирует, следует ли переходить на панель терминала во время компиляции. Вы можете изменить его в соответствии с вашими предпочтениями; даже если для него установлено значение «Никогда», он просто не переходит автоматически, и вы все равно можете увидеть информацию, если щелкнете вручную.
код settings.json
Поместите вещи из этого файла в «Пользовательские настройки», чтобы перезаписать глобальные настройки, в противном случае они будут эффективны только в текущей рабочей области. У каждого из этих двух пунктов есть свои преимущества.
Командная строка Code Runner и некоторые параметры могут быть изменены здесь в соответствии с вашими потребностями. Если вы хотите настроить или узнать, что это означает, обратитесь к документации этого расширения и руководству по использованию Baidu gcc. Если в терминале используется cmd (Win7По умолчанию) необходимо закомментировать или поставить terminal.integrated.shell.windows Измените на PowerShell; Win10 по умолчанию использует PS, не меняя его.
Упомянутые SnippetSuggestions; но иногда использование top все еще немного проблематично, поэтому измените значение на optional.
c_cpp_properties.json
Если вы уверены, что вам не нужно использовать чужие библиотеки, текущая версия (после 0.18.0)Нет необходимости создавать этот файл, Cpptools автоматически использует настройки по умолчанию. Итак, эта статья не включает конфигурацию этого файла.
Некоторый прошлый опыт:
Дополнительные знания
Откуда столько записей? Это действительно похоже на API. Разработчик расширения «сообщит» VSC о параметрах, позволяющих изменять, и будет написана страница установки каждого расширения. Как пользователь, VSC будет подсказывать вам, что доступно при наборе текста, так что писать на самом деле легко.
Зачем писать так много всего на json? Поскольку сам VSC не уделяет особого внимания языку C, то же самое и для многих других языков. И самая критическая команда компиляции не имеет отношения к VSC, это дело редактора и компилятора, о которых говорилось выше. VSC не несет ответственности, не может и не может компилировать язык C.
3. Написать код, скомпилировать, отладить
Нажмите Alt + Shift + F (или используйте контекстное меню), чтобы отформатировать код, когда появится Intellisense.Нажмите вкладку, чтобы завершить код. Когда вы вводите фрагменты, будет несколько точек перехода, нажмите вкладку, чтобы перейти к следующему.
Нажмите Ctrl + Shift + B, чтобы просто скомпилировать, нажмите F5, чтобы скомпилировать и отладить; изначально ctrl + F5 должен запускаться, но не отлаживать, но теперь cpptools не поддерживает его, он все равно будет отлаживаться. Следить:Support «Run without debugging» · Issue #1201 · microsoft/vscode-cpptools
На ранних этапах программирования настоятельно рекомендуюНе используйте f5 в качестве компилятора, Потому что некоторые ошибки вызывают только предупреждения и не препятствуют компиляции, но чем раньше эти ошибки будут устранены, тем лучше. Информация о компиляции будет находиться на панели «Терминал» внизу. Если в коде есть ошибка, щелкните здесь, чтобы просмотреть информацию, сообщаемую компилятором; но благодаря Lint обычные ошибки можно найти и немедленно исправить, что упрощает написание кода.
Чтобы добавить точку останова, просто щелкните перед номером столбца, щелкните правой кнопкой мыши, чтобы добавить условные точки останова. Если вы хотите остановиться с самого начала, вы можете добавить это в основную функцию илиlaunch.jsonЕсть настройка в. После начала отладки нажмите f11, чтобы продолжить шаг за шагом, строка кода, указанная стрелкой, будетКод для следующего запуска; F5 выполняется до следующей точки останова, щелкните правой кнопкой мыши строку кода, чтобы выбрать выполнение до указанной строки.
Слева есть панель отладки, вы можете видеть значение переменной, и вы можете добавить ее вручную, если у вас ее нет на автоматической панели: выберите выражение, которое вы хотите отслеживать, в коде, щелкните правой кнопкой мыши, чтобы иметь возможность напрямую добавить его в Watch, и вам нужно только вручную ввести сложные. Наведите указатель мыши на переменную, чтобы увидеть значение переменной, но можно распознать только простые выражения. Фреймы стека полезны для наблюдения за рекурсией. В случае переполнения стека и segfault вы также можете захватить «исключение» и автоматически перейти к строке, где произошла ошибка.
горячая клавиша:Vscode: общие сочетания клавиш для Visual Studio Code-Zhiwen Studio. Конечно, в документе на английском языке есть инструкции по использованию сочетаний клавиш, можно просмотреть Cheet Sheet и обновить документ на английском языке. Это указано отдельно только для начинающих.
Если вы столкнулись с ошибками, сначала просмотрите «некоторые возможные ошибки» ниже и просмотрите раздел комментариев.。
Code Runner
Если вам не нужно отлаживать, вы можете щелкнуть правой кнопкой мыши и выбрать код запуска или нажать кнопку воспроизведения в правом верхнем углу. Если вы запустите в терминале, вы можете вводить данные, но функция отображения времени отсутствует; в «выводе» два вышеуказанных элемента меняются местами.
Нажмите Ctrl + C в терминале, чтобы завершить программу, и вы должны убедиться, что текущая программа была завершена до следующего запуска (то же самое верно для задач). Если вы хотите скопировать, просто нажмите правую кнопку после выбора содержимого; чтобы вставить, нажмите правую кнопку, когда он не выбран; эта операция ограничена Win10, ctrl + c также может быть скопировано, но программа может быть остановлена случайно.
Кроме того, Хан Цзюнь, респондент внизу, является автором этого расширения, и он ищет все (комичное).
Мультифайловая компиляция
Если вы хотите выполнять многофайловую компиляцию, узнайте, как написать make-файл или использовать cmake. Затем измените команды задач на вызов make и так далее.
Короче говоря, они не имеют ничего общего с VSC, и вы столкнетесь с аналогичными проблемами с другими IDE или ручной компиляцией, что также немного сложно. В этой статье мы не будем обсуждать эти вопросы, решите сами.
Сохранить папку
послеДля написания кода необходимо открыть папку, созданную ранее.Может писать, иначе весь Intellisense будет недоступен, его может использовать только Code Runner. (В основном необходимы четыре файла json, и вы также можете использовать те файлы json, которые необходимо скопировать для создания других папок)
Вы можете создать ярлык (щелкните правой кнопкой мыши, чтобы создать новый) и передать путь к рабочей области в качестве параметра основной программе VSC, не забудьте поставить двойные кавычки; вы также можете добавить значок. 1.18 В реальном виртуальном рабочем пространстве одно окно может содержать несколько папок, которые не вместе. В меню «Файл» также есть функция «Сохранить рабочее пространство», но я ее не пробовал, и нет гарантии, что все будет хорошо.
Очистить временные файлы
По такой конфигурации после длительной компиляции кода должно быть много exe, и они могут быть разбросаны по разным папкам.
Вы также можете написать летучую мышь, поместить ее в рабочую область и щелкнуть правой кнопкой мыши Выполнить код, когда вы хотите ее использовать:
Добавить чисто английский метод ввода
Поэтому я настоятельно рекомендую вручную добавить метод ввода на английском языке, переключиться на чисто английский метод ввода (win + пробел), когда код нормальный, и использовать английский режим китайского метода ввода, когда требуются частые китайские комментарии или при написании китайских строк в строке.
Это также может решить проблему, связанную с тем, что в некоторых играх необходимо использовать клавишу Shift, но при этом конфликтует одна и та же комбинация клавиш. Для конкретных операций вы можете использовать Baidu самостоятельно или прочитать эту довольно сложную статью, которую я написал:Windows переключает язык отображения и добавляет чистый английский метод ввода。
Некоторые возможные ошибки
Для единообразия чтения эта часть перенесена в «А. Некоторые другие возможные ошибки». Если вы столкнулись с проблемой, сначала проверьте, упоминалась ли она там.
4. Прочие настройки
Некоторые из моих других настроек используются в global settings.json, настроены в соответствии с моей ситуацией и не нуждаются в написании в соответствии со мной.Введите запятую после записи.; Я не добавлял внешнюю скобку, поэтому не теряйте ее。
Текущая версия VSC использует интерфейс визуальных настроек, который изначально редактировался вручную и появились две колонки настроек. Щелкните фигурную скобку в правом верхнем углу, чтобы изменить ее вручную.
6. О китайских и искаженных иероглифах
Многие люди сталкивались с искаженными символами при выводе китайского языка в VS Code. Это связано с тем, что исходный код по умолчанию закодирован в UTF-8, а cmd / PowerShell закодирован в GBK. Скомпилируйте напрямую, он выведет «Hello» как «Huan Yu». В Linux такой проблемы нет.
Изменение языка программ, не поддерживающих Unicode, непосредственно на UTF8 (бета) приведет к искажению всех программ, использующих GBK, что недопустимо.
Конечно, если вы не собираетесь настаивать на использовании UTF8 в качестве кодировки исходного кода, вы можете напрямую использовать кодировку GBK.
еслиОткрыть существующий файл, закодированный в GBK, VS Code откроется с кодировкой UTF-8 по умолчанию (если вы не задали кодировку предположения), так что китайский язык в редакторе будет искажен. В это время наведите указатель мыши на GBK в правом нижнем углу, выберите «Открыть заново по кодировке», выберите UTF-8 ОК. Тогда почему бы не включить автоматическое кодирование наугад? Вы можете сослаться на этот мой ответ:Что мне делать, если в комментариях VS Code на китайском языке отображаются искаженные символы?. Если вас это не беспокоит, просто откройте.
Если вы отправляете файл кода другим людям, использующим Windows, лучше всего преобразовать его в GBK, иначе он может быть искажен, когда другие люди откроют его с помощью Блокнота (Блокнот после 1803 года немного улучшился, а в China Unicom нет искаженных кодов).
Для отладки, как бы вы это ни делали, gdbНе удается отладить программы, в пути которых есть китайский. Это похоже на ошибку gdb, но приоритет очень низкий:[gdb] cannot not open source file with Chinese/Unicode characters in path when debugging · Issue #602 · microsoft/vscode-cpptools
Короче говоря, для Windows нет хорошего решения этих проблем, потому что набор, используемый в этой статье, перенесен из Linux. С линуксом таких проблем быть не должно.
7. Не удается найти ошибку файла заголовка.
Еще одна ошибка, из-за которой не удается найти файл заголовка:
Эта цель по умолчанию жестко запрограммирована в исходном коде. Я огляделся и не нашел нормального способа ее изменить. Загрузите исходный код clang, измените его самостоятельно, а затем скомпилируйте сам clang, может быть, это можно решить. Или установите Windows SDK вместо mingw, чтобы он соответствовал цели по умолчанию.
Конечно, сейчас проще всего скомпилировать с помощью gcc.
12. Используйте clang под Win
Фактически, эта часть изначально была основной частью этой статьи, но она вводит слишком много концепций, и эффект не так хорош (потому что нет libc ++), теперь все они размещены здесь и становятся необязательным содержанием. Фактически, я рекомендую использовать WSL (но, возможно, это будет перепрыгивать из одной ямы в другую), эта часть предназначена только для опыта наступления на яму.
окружение
Конфигурация
13. Мой опыт программирования
С точки зрения размера, тело + компилятор + расширение, если оно используется только для записи C, занятость жесткого диска не мала, и она будет равна 1 ГБ. Объем памяти все еще относительно невелик (около 0,5 г); были ошибки, которые потребляли много памяти, и, конечно же, они давно исправлены.
Другие IDE, CodeBlocks все еще живы, хотя историческое бремя очень очевидно. Clion имеет красивый интерфейс и мощные функции. Однако он доступен только на английском языке. Это может быть немного сложно; студенты могут подать заявку на получение ключей бесплатно, в противном случае с них будет взиматься плата. Если вы хотите использовать Windows SDK, проверьте настольную разработку на C ++ для следующей версии Visual Studio (Installer), Community. Это соответствует цели по умолчанию для Clang, но я думаю, что лучше использовать VS напрямую. Комментарии других респондентов по поводу некоторых C IDE можно найти в этом ответе:Сяобай, у которого нет основ программирования, готов выучить язык C, использовать VC6 или VS2015?。
Я все еще хочу сказать студенческой вечеринке: возможность самостоятельно изучить эту статью на Baidu, попытаться понять и настроить ее вручную, намного лучше, чем бесчисленное количество людей, которые обращаются к группе и ждут, пока учителя опубликуют IDE в группе QQ. Если вы способны, я предлагаю вам прочитать документ VSC:Documentation for Visual Studio CodeЭто не сложно, и неплохо испытать практическое применение английского языка.
А. Некоторые другие возможные ошибки
Б. Как добавить переменные среды
Если вы все еще не знаете, как его изменить, вы можете выполнить поиск по запросу «переменные среды» на сайте Baidu или b, чтобы посмотреть видео. Большинство из них не C, но разница небольшая, будьте осторожныНе удаляйте по ошибкеВот и все.
Вы можете оставить сообщение для обсуждения, если у вас есть какие-либо вопросы, но лучше всегоОпишите подробно.И я говорю это снова,Не говорите мне просто предложение «preLaunchTask завершен, код равен 1». Это предложение бесполезно.
Оригинал, некоммерческая перепечатка, укажите источник.
Согласен 4145 1492 комментария
Коллекция Как убрать
люди, которые используют Zhihu
275 человек согласились с ответом
2019.03.23: Обновление плагина C / C ++, теперь вы можете скомпилировать и отладить за один шаг
Нажмите F1 В раскрывающемся списке введите:
2018.11.02: Обновление плагина C / C ++, теперь вы можете использовать интегрированный терминал Debug в VSCode, подробности см. На странице статьи.
Это сентябрь 2018 года, через три года после даты вопроса.
После использования сейчас я чувствую, что писать C / C ++ в VS Code становится все удобнее, в основном потому, чтоcpptoolБыстрая итерация плагинов становится все удобнее.
Ближе к дому, чтобы писать на C / C ++ с помощью VS Code было удобнее, вам необходимо выполнить следующие три требования:
Конкретный метод составления и работы:
Есть два способа скомпилировать и запустить Code Runner:
Программа выведет на панель вывода
Поэтому перейдите на страницу настроек, чтобы внести небольшие изменения:
Вы можете проверить параметры в соответствии с изображением или удалить проверку по умолчанию
Чтобы воспользоваться отладкой и другими функциями, вы можете обратиться к ответам других респондентов или прочитать мою статью:
В нем представлены три варианта компиляции и запуска C / C ++.
ps:После установки компилятора и задания переменных среды текущий подключаемый модуль C / C ++ может автоматически читать и дополнять библиотеку без дополнительной настройки. Спасибо команде разработчиков cpptool
Краткое руководство. Отладка кода C++ с помощью отладчика Visual Studio
Отладчик Visual Studio реализует множество эффективных функций для отладки приложений. В этой статье вы ознакомитесь с некоторыми основными возможностями.
Создание нового проекта
Откройте Visual Studio и создайте проект.
Нажмите клавишу ESC, чтобы закрыть окно запуска. Нажмите CTRL+Q, чтобы открыть поле поиска, введите c++, выберите Шаблоны и затем Create new Console App project (Создание проекта консольного приложения). В появившемся диалоговом окне выберите Создать.
Visual Studio создаст проект.
В файле MyDbgApp.cpp замените код
следующим кодом (не удаляйте #include «stdafx.h» ):
Установка точки останова
Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти, либо выполнение ветви кода. Эта возможность чаще всего используется при отладке.
Чтобы задать точку останова, щелкните в области слева от вызова функции doWork (или выберите строку кода и нажмите клавишу F9).
Нажмите клавишу F5 (или выберите Отладка > Начать отладку).
При наличии точки останова в цикле или рекурсии либо большого числа точек останова, которые вы часто будете просматривать пошагово, используйте условную точку останова, которая позволяет приостанавливать код только при выполнении определенных условий. Использование условных точек останова позволяет сэкономить время и упростить отладку проблем, которые сложно воспроизвести.
При отладке связанных с памятью сбоев в C++ вы также можете использовать точки останова для проверки значений адресов (для поиска значений NULL) и числа ссылок.
Навигация по коду
Чтобы продолжить работу отладчика, можно использовать различные команды. Здесь описываются полезные новые команды для навигации по коду, доступные с версии Visual Studio 2017.
Если выполнение приостановлено в точке останова, наведите указатель мыши на инструкцию c1.push_back(20) и дождитесь, пока появится зеленая кнопка Выполнение до щелкнутого, после чего нажмите кнопку Выполнение до щелкнутого.
Выполнение приложения продолжится путем вызова doWork и будет приостановлено в той строке, в которой вы нажмете эту кнопку.
В процессе пошагового выполнения кода обычно используются клавиши F10 и F11. Более подробные инструкции см. в статье Знакомство с отладчиком Visual Studio.
Проверка переменных в подсказке по данным
Подсказка по данным содержит текущее значение переменной c1 и позволяет проверить ее свойства. Если во время отладки отображается значение, которое вы не ожидали увидеть, возможно, в предыдущей или вызывающей строке кода имеется ошибка.
Чтобы закрепить подсказку по данным и иметь возможность постоянно просматривать значение переменной c1 во время выполнения, щелкните небольшой значок булавки. (При необходимости вы можете переместить закрепленную подсказку по данным в удобное положение.)
Изменение кода и продолжение отладки
Вы можете сделать это во время сеанса отладки, если вам потребуется внести изменения в код.
Нажмите клавишу F10 (или выберите команду Отладка > Шаг с обходом) несколько раз, чтобы пройти вперед и выполнить измененный код.
При нажатии клавиши F10 отладчик каждый раз переходит вперед на одну инструкцию, однако при этом минует функции, не заходя в них (пропускаемый код в таком случае по-прежнему выполняется).
Дополнительные сведения об этом режиме и его ограничениях см. в статье Изменить и продолжить.
Следующие шаги
В этом руководстве вы узнали, как запускать отладчик, осуществлять пошаговое выполнение кода и проверять переменные. Возможно, вы захотите получить более полное представление о функциях отладчика, а также воспользоваться ссылками на дополнительные сведения.
Quickstart: Debug with C# or Visual Basic using the Visual Studio debugger
The Visual Studio debugger provides many powerful features to help you debug your apps. This topic provides a quick way to learn some of the basic features.
Create a new project
Open Visual Studio and create a new project.
If the start window is not open, choose File > Start Window. On the start window, choose Create a new project.
On the Create a new project window, enter or type console in the search box. Next, choose C# from the Language list, and then choose Windows from the Platform list.
Visual Studio creates the project.
In Program.cs or Module1.vb, replace the following code
In Visual Basic, make sure the startup object is set to Sub Main (Properties > Application > Startup Object).
Set a breakpoint
A breakpoint is a marker that indicates where Visual Studio should suspend your running code so you can take a look at the values of variables, or the behavior of memory, or whether or not a branch of code is getting run. It is the most basic feature in debugging.
To set the breakpoint, click in the gutter to the left of the doWork function call (or select the line of code and press F9).
Now press F5 (or choose Debug > Start Debugging).
The debugger pauses where you set the breakpoint. The statement where the debugger and app execution is paused is indicated by the yellow arrow. The line with the doWork function call hasn’t yet executed.
If you have a breakpoint in a loop or recursion, or if you have many breakpoints that you frequently step through, use a conditional breakpoint to make sure that your code is suspended ONLY when specific conditions are met. A conditional breakpoint can save time and it can also make it easier to debug issues that are hard to reproduce.
Navigate code
There are different commands to instruct the debugger to continue. We show a useful code navigation command that is available starting in Visual Studio 2017.
While paused at the breakpoint, hover over the statement c1.AddLast(20) until the green Run to click button appears, and then press the Run to click button.
Common keyboard commands used to step through code include F10 and F11. For more in-depth instructions, see First look at the debugger.
Inspect variables in a data tip
In the current line of code (marked by the yellow execution pointer), hover over the c1 object with your mouse to show a data tip.
The data tip shows you the current value of the c1 variable and allows you to inspect its properties. When debugging, if you see a value you don’t expect, you probably have a bug in the preceding or calling lines of code.
Expand the data tip to look at the current property values of the c1 object.
If you want to pin the data tip so that you can continue to see the value of c1 while you execute code, click the small pin icon. (You can move the pinned data tip to a convenient location.)
Edit code and continue debugging
If you identify a change that you want to test in your code while in the middle of a debugging session, you can do that, too.
Press F10 (or Debug > Step Over) a few times to advance the debugger and execute the edited code.
F10 advances the debugger one statement at a time, but steps over functions instead of stepping into them (the code that you skip still executes).
For more information on using edit-and-continue and on feature limitations, see Edit and Continue.
Next steps
In this tutorial, you’ve learned how to start the debugger, step through code, and inspect variables. You may want to get a high-level look at debugger features along with links to more information.
Руководство. Отладка кода Visual Basic с помощью Visual Studio
В этом пошаговом руководстве рассматриваются возможности отладчика Visual Studio. Более полное описание функций отладчика см. в статье c Знакомство с отладчиком Visual Studio. Отладка приложения обычно означает запуск и выполнение приложения с подключенным отладчиком. При этом в отладчике доступно множество способов наблюдения за выполнением кода. Вы можете пошагово перемещаться по коду и просматривать значения, хранящиеся в переменных, задавать контрольные значения для переменных, чтобы отслеживать изменение значений, изучать путь выполнения кода, просматривать выполнение ветви кода и т. д. Если вы не знакомы с процессом отладки, перед выполнением задач в этой статье рекомендуется прочесть документ об отладке для начинающих.
Несмотря на то, что демонстрационное приложение написано на Visual Basic, большинство функций применимы к C#, C++, F#, Python, JavaScript и другим языкам, поддерживаемым Visual Studio (F# не поддерживает возможность «Изменить и продолжить» F# и JavaScript не поддерживают окно Видимые). Снимки экрана приведены для Visual Basic.
В этом руководстве рассмотрены следующие задачи:
Предварительные требования
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Создание проекта
Запустите Visual Studio.
Если окно запуска не открыто, выберите Файл>Окно запуска.
На начальном экране выберите Создать проект.
В поле поиска окна Создание проекта введите консоль. Затем выберите Visual Basic в списке языков и Windows в списке платформ.
В поле Имя проекта окна Настроить новый проект введите get-started-debugging. Нажмите кнопку Далее.
Новый проект открывается в Visual Studio.
Запустите Visual Studio.
Если окно запуска не открыто, выберите Файл>Окно запуска.
На начальном экране выберите Создать проект.
В поле поиска окна Создание проекта введите консоль. Затем выберите Visual Basic в списке языков и Windows в списке платформ.
В поле Имя проекта окна Настроить новый проект введите get-started-debugging. Нажмите кнопку Далее.
Убедитесь, что в окне Дополнительные сведения выбрана рекомендуемая целевая платформа (.NET 6.0), а затем нажмите кнопку Создать.
Новый проект открывается в Visual Studio.
Создание приложения
Откройте файл Program.vb и замените все его содержимое по умолчанию следующим кодом:
Запуск отладчика
Нажмите клавишу F5 (Отладка > Начать отладку) или кнопку Начать отладку на панели инструментов отладки.
При нажатии клавиши F5 происходит запуск приложения с присоединенным отладчиком. Но пока мы не сделали ничего особенного, чтобы проанализировать код. Поэтому приложение будет просто загружено, и вы увидите выходные данные консоли.
В этом руководстве мы более подробно рассмотрим приложение с отладчиком и познакомимся с возможностями отладчика.
Остановите отладчик, нажав красную кнопку остановки (SHIFT + F5).
В окне консоли нажмите клавишу, чтобы закрыть его.
Нажмите клавишу F5 (Отладка > Начать отладку) или зеленую кнопку Начать отладку на панели инструментов отладки.
При нажатии клавиши F5 происходит запуск приложения с присоединенным отладчиком. Но пока мы не сделали ничего особенного, чтобы проанализировать код. Поэтому приложение будет просто загружено, и вы увидите выходные данные консоли.
В этом руководстве мы более подробно рассмотрим приложение с отладчиком и познакомимся с возможностями отладчика.
Остановите отладчик, нажав сочетание клавиш (SHIFT + F5) или красную кнопку Остановить отладку на панели инструментов отладки.
В окне консоли нажмите клавишу, чтобы закрыть его.
Установка точки останова и запуск отладчика
В цикле For функции Main установите точку останова, щелкнув левое поле следующей строки кода:
В месте установки точки останова появится красный круг .
Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода.
Нажмите клавишу F5 или кнопку Начать отладку. Приложение запустится и отладчик перейдет к строке кода, где задана точка останова.
Желтая стрелка представляет оператор, на котором приостановлен отладчик. В этой же точке приостанавливается выполнение приложения (этот оператор пока не выполнен).
Если приложение еще не запущено, клавиша F5 запускает отладчик и останавливается в первой точке останова. В противном случае F5 продолжает выполнение приложения до следующей точки останова.
Точки останова полезны, если вам известны строка или раздел кода, которые вы хотите подробно изучить. Дополнительные сведения о различных типах точек останова, которые можно задать, например об условных точках останова, см. в разделе Использование точек останова.
В цикле For функции Main установите точку останова, щелкнув левое поле следующей строки кода:
В месте установки точки останова появится красный круг.
Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода.
Нажмите клавишу F5 (Отладка > Начать отладку) или кнопку Начать отладку на панели инструментов отладки. Приложение запустится и отладчик перейдет к строке кода, где задана точка останова.
Желтая стрелка представляет оператор, на котором приостановлен отладчик. В этой же точке приостанавливается выполнение приложения (этот оператор пока не выполнен).
Если приложение еще не запущено, клавиша F5 запускает отладчик и останавливается в первой точке останова. В противном случае F5 продолжает выполнение приложения до следующей точки останова.
Точки останова полезны, если вам известны строка или раздел кода, которые вы хотите подробно изучить. Дополнительные сведения о различных типах точек останова, которые можно задать, например об условных точках останова, см. в разделе Использование точек останова.
Переход по коду в отладчике с помощью пошаговых команд
Здесь мы используем в основном сочетания клавиш, так как они позволяют быстро выполнять приложение в отладчике (эквивалентные команды, например команды меню, отображаются в круглых скобках).
После двойного нажатия клавиши F11 вы должны находиться на следующей строке кода:
F11 — это команда Шаг с заходом, которая выполняет приложение с переходом к следующему оператору. Клавишу F11 удобно использовать для более детальной проверки потока выполнения. (Мы также покажем другие варианты более быстрого перемещения по коду.) По умолчанию отладчик пропускает непользовательский код (дополнительные сведения см. в статье об отладке в режиме «Только мой код»).
Предположим, что вы закончили изучать метод SendMessage и хотите выйти из него, но остаться в отладчике. Это можно сделать с помощью команды Шаг с выходом.
Нажмите сочетание клавиш SHIFT + F11 (или Отладка > Шаг с выходом).
Эта команда возобновляет выполнение приложения (и работу отладчика) до возврата данных текущим методом или текущей функции.
Во время приостановки на вызове метода один раз нажмите клавишу F10 (или выберите Отладка > Шаг с обходом).
В этой статье мы используем сочетания клавиш, так как они позволяют быстро выполнять приложение в отладчике (эквивалентные команды, например команды меню, отображаются в круглых скобках).
После двойного нажатия клавиши F11 вы должны находиться на следующей строке кода:
F11 — это команда Шаг с заходом, которая выполняет приложение с переходом к следующему оператору. Клавишу F11 удобно использовать для более детальной проверки потока выполнения. (Мы также покажем другие варианты более быстрого перемещения по коду.) По умолчанию отладчик пропускает непользовательский код (дополнительные сведения см. в статье об отладке в режиме «Только мой код»).
Предположим, что вы закончили изучать метод SendMessage и хотите выйти из него, но остаться в отладчике. Это можно сделать с помощью команды Шаг с выходом.
Нажмите сочетание клавиш SHIFT + F11 (или Отладка > Шаг с выходом).
Эта команда возобновляет выполнение приложения (и работу отладчика) до возврата данных текущим методом или текущей функции.
Во время приостановки на вызове метода один раз нажмите клавишу F10 (или выберите Отладка > Шаг с обходом).
Переход по коду с помощью команды «Выполнение до щелкнутого»
Нажмите клавишу F5, чтобы снова перейти к точке останова.
Кнопка Выполнение до щелкнутого впервые появилась в Visual Studio 2017. (Если кнопка с зеленой стрелкой отсутствует, воспользуйтесь клавишей F11, чтобы переместить отладчик в нужное место.)
Щелкните кнопку Выполнить до нажатия.
Использование этой кнопки аналогично установке временной точки останова. Функция Выполнение до щелкнутого удобна для быстрой работы в видимой области кода приложения (можно щелкнуть в любом открытом файле).
Нажмите клавишу F5, чтобы снова перейти к точке останова.
Щелкните кнопку Выполнить до нажатия.
Использование этой кнопки аналогично установке временной точки останова. Функция Выполнение до щелкнутого удобна для быстрой работы в видимой области кода приложения (можно щелкнуть в любом открытом файле).
Быстрый перезапуск приложения
Щелкните кнопку Перезапустить на панели инструментов отладки (CTRL + SHIFT + F5).
Кнопка Перезапустить позволяет сэкономить время, затрачиваемое на остановку приложения и перезапуск отладчика. Отладчик приостанавливается в первой точке останова, достигнутой при выполнении кода.
Чтобы перезапустить приложение, нажмите сочетание клавиш CTRL + SHIFT + F5. Такое действие гораздо быстрее, чем остановка приложения и перезапуск отладчика. Отладчик приостанавливается в первой точке останова, достигнутой при выполнении кода.
Проверка переменных с помощью подсказок по данным
Функции, позволяющие проверять переменные, являются самыми полезными возможностями отладчика. Реализовывать эту задачу можно разными способами. Часто при попытке выполнить отладку проблемы пользователь старается выяснить, хранятся ли в переменных значения, которые требуются ему в определенное время.
Часто при отладке требуется быстро проверить значения свойств в переменных, чтобы убедиться, что в них хранятся ожидаемые значения. Советы по данным — отличный способ это сделать.
Функции, позволяющие проверять переменные, являются самыми полезными возможностями отладчика. Реализовывать эту задачу можно разными способами. Часто при попытке выполнить отладку проблемы пользователь старается выяснить, хранятся ли в переменных значения, которые требуются ему в определенное время.
Часто при отладке требуется быстро проверить значения свойств в переменных, чтобы убедиться, что в них хранятся ожидаемые значения. Советы по данным — отличный способ это сделать.
Проверка переменных с помощью окон «Видимые» и «Локальные»
Взгляните на окно Видимые в нижней части редактора кода.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка>Окна>Видимые.
В окне Видимые отображаются переменные и их текущие значения. В окне Видимые отображаются все переменные, используемые в текущей или предыдущей строке (сведения о зависящем от языка поведении см. в соответствующей документации).
Затем посмотрите на окно Локальные на вкладке рядом с окном Видимые.
В окне Локальные показаны переменные, которые находятся в текущей области, то есть текущем контексте выполнения.
Взгляните на окно Видимые в нижней части редактора кода.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка>Окна>Видимые.
В окне Видимые отображаются переменные и их текущие значения. В окне Видимые отображаются все переменные, используемые в текущей или предыдущей строке (сведения о зависящем от языка поведении см. в соответствующей документации).
Затем посмотрите на окно Локальные на вкладке рядом с окном Видимые.
В окне Локальные показаны переменные, которые находятся в текущей области, то есть текущем контексте выполнения.
Установка контрольного значения
В основном окне редактора кода щелкните правой кнопкой мыши переменную name и выберите команду Добавить контрольное значение.
В нижней части редактора кода откроется окно Контрольное значение. В окне Контрольное значение можно указать переменную (или выражение), которую необходимо отслеживать.
Просмотр стека вызовов
Во время приостановки в цикле For щелкните окно Стек вызовов, которое по умолчанию открыто в нижней правой области.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка>Окна>Стек вызовов.
В окне Стек вызовов показан порядок вызова методов и функций. В верхней строке приведена текущая функция (в данном приложении метод SendMessage ). Во второй строке показано, что функция SendMessage была вызвана из метода Main и т. д.
Окно Стек вызовов аналогично перспективе «Отладка» в некоторых интегрированных средах разработки, например Eclipse.
Стек вызовов хорошо подходит для изучения и анализа потока выполнения приложения.
Дважды щелкните строку кода, чтобы просмотреть исходный код. При этом также изменится текущая область, проверяемая отладчиком. Это действие не перемещает отладчик.
Для выполнения других задач можно воспользоваться контекстными меню из окна Стек вызовов. Например, можно вставлять точки останова в указанные функции, перемещать отладчик с помощью функции Выполнение до текущей позиции и изучать исходный код. Дополнительные сведения см. в разделе Практическое руководство. просмотреть стек вызовов.
Во время приостановки в цикле For щелкните окно Стек вызовов, которое по умолчанию открыто в нижней правой области.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка>Окна>Стек вызовов.
В окне Стек вызовов показан порядок вызова методов и функций. В верхней строке приведена текущая функция (в данном приложении метод SendMessage ). Во второй строке показано, что функция SendMessage была вызвана из метода Main и т. д.
Окно Стек вызовов аналогично перспективе «Отладка» в некоторых интегрированных средах разработки, например Eclipse.
Стек вызовов хорошо подходит для изучения и анализа потока выполнения приложения.
Дважды щелкните строку кода, чтобы просмотреть исходный код. При этом также изменится текущая область, проверяемая отладчиком. Это действие не перемещает отладчик.
Для выполнения других задач можно воспользоваться контекстными меню из окна Стек вызовов. Например, можно вставлять точки останова в указанные функции, перемещать отладчик с помощью функции Выполнение до текущей позиции и изучать исходный код. Дополнительные сведения см. в разделе Практическое руководство. просмотреть стек вызовов.
Изменение потока выполнения
Нажмите клавишу F11.
Отладчик повторно выполнит метод Console.WriteLine (вы увидите это в выходных данных окна консоли).
Изменяя поток выполнения, можно решать множество задач, например тестировать различные пути выполнения кода или повторно выполнять код без перезапуска отладчика.
Как правило, при работе с этой функцией необходимо соблюдать осторожность — вы увидите соответствующее предупреждение во всплывающей подсказке. Могут отображаться и другие предупреждения. При перемещении указателя предыдущее состояние приложения не возвращается.
Чтобы продолжить выполнение приложения, нажмите клавишу F5.
Поздравляем с завершением этого учебника!
Следующие шаги
В этом руководстве вы узнали, как запускать отладчик, осуществлять пошаговое выполнение кода и проверять переменные. Возможно, вы захотите получить более полное представление о функциях отладчика, а также воспользоваться ссылками на дополнительные сведения.
Учебник. Создание простого консольного приложения Visual Basic
В этой статье показано, как использовать Visual Studio для создания простого консольного приложения Visual Basic. В этом приложении будет запрашиваться имя пользователя, которое затем будет отображаться с информацией о текущем времени. Вы также ознакомитесь с некоторыми возможностями интегрированной среды разработки (IDE) Visual Studio, в том числе с системой управления версиями в Git. Visual Basic — это типобезопасный язык программирования, который прост в изучении. Консольное приложение принимает входные данные и выводит результаты в окне командной строки (также называется консоль).
В этом руководстве описано следующее:
Предварительные требования
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Создание проекта
Сначала вы создадите проект приложения Visual Basic. Шаблон проекта по умолчанию содержит все файлы, необходимые для готового к запуску приложения.
На некоторых снимках экрана в этом учебнике используется темная тема. Если вы не используете темную тему, но хотите переключиться на нее, см. страницу Персонализация интегрированной среды разработки и редактора Visual Studio.
Запустите Visual Studio 2019.
На начальном экране выберите Создать проект.
В окне Создание проекта выберите Visual Basic в списке языков. Затем выберите Windows в списке платформ и Консоль в списке типов проектов.
Применив эти фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и щелкните Далее.
Если шаблон Консольное приложение отсутствует, его можно установить в окне Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.
В поле Имя проекта окна Настроить новый проект введите WhatIsYourName. Нажмите кнопку Далее.
Новый проект открывается в Visual Studio.
Запустите Visual Studio.
На начальном экране выберите Создать проект.
В окне Создание проекта выберите Visual Basic в списке языков. Затем выберите Windows в списке платформ и Консоль в списке типов проектов.
Применив эти фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и щелкните Далее.
Если шаблон Консольное приложение отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.
В поле Имя проекта окна Настроить новый проект введите WhatIsYourName. Нажмите кнопку Далее.
Новый проект открывается в Visual Studio.
Запуск приложения
Когда вы выберете шаблон проекта Visual Basic и зададите имя для своего проекта, Visual Studio создаст файл Program.vb. Код по умолчанию вызывает метод WriteLine для отображения литеральной строки «Hello World!»в окне консоли.
Существует два способа выполнения этого кода: в Visual Studio в режиме отладки и на компьютере в качестве обычного автономного приложения.
Запуск приложения в режиме отладки
Нажмите кнопку WhatIsYourName или клавишу F5, чтобы запустить код по умолчанию в режиме отладки.
При запуске приложения в консоли отладки Microsoft Visual Studio отображается текст «Hello World!». Нажмите любую клавишу, чтобы закрыть окно консоли отладки и завершить работу приложения:
Нажмите кнопку WhatIsYourName или клавишу F5, чтобы запустить код по умолчанию в режиме отладки.
При запуске приложения в консоли отладки Microsoft Visual Studio отображается текст «Hello World!». Нажмите любую клавишу, чтобы закрыть окно консоли отладки и завершить работу приложения:
Запуск приложения в автономном режиме
Чтобы просмотреть выходные данные за пределами Visual Studio, в окне системной консоли выполните сборку и запуск исполняемого файла (EXE-файл).
В меню Сборка выберите Собрать решение.
В Обозревателе решений щелкните правой кнопкой мыши элемент WhatIsYourName и выберите Открыть файл в проводнике.
В проводнике перейдите к каталогу bin\Debug\net5.0 и запустите WhatIsYourName.exe.
Процедура Main завершается после выполнения одной инструкции, а окно консоли сразу же закрывается. В следующем разделе показано, как сделать так, чтобы окно консоли отображалось до нажатия клавиши пользователем.
В меню Сборка выберите Собрать решение.
В Обозревателе решений щелкните правой кнопкой мыши элемент WhatIsYourName и выберите Открыть файл в проводнике.
В проводнике перейдите к каталогу bin\Debug\core6.0 и запустите WhatIsYourName.exe.
Процедура Main завершается после выполнения одной инструкции, а окно консоли сразу же закрывается. В следующем разделе показано, как сделать так, чтобы окно консоли отображалось до нажатия клавиши пользователем.
Добавление кода для запроса ввода данных пользователем
Теперь вы добавите код Visual Basic, который запрашивает имя пользователя, а затем выводит его вместе с датой и временем. Кроме того, вы добавите код, чтобы окно консоли не закрывалось, пока пользователь не нажмет клавишу.
Нажмите кнопку WhatIsYourName или клавишу F5, чтобы выполнить сборку и запуск своего первого приложения в режиме отладки.
Когда откроется окно консоли отладки, введите свое имя. Окно консоли должно выглядеть так, как показано на следующем снимке экрана:
Нажмите любую клавишу, чтобы завершить работу приложения. Затем нажмите любую клавишу, чтобы закрыть окно консоли отладки.
Нажмите кнопку WhatIsYourName или клавишу F5, чтобы выполнить сборку и запуск своего первого приложения в режиме отладки.
Когда откроется окно консоли отладки, введите свое имя. Окно консоли должно выглядеть так, как показано на следующем снимке экрана:
Нажмите любую клавишу, чтобы завершить работу приложения. Затем нажмите любую клавишу, чтобы закрыть окно консоли отладки.
Теперь, когда новый код находится в приложении, выполните сборку и запуск исполняемого файла (EXE-файл) в окне системной консоли, как описано выше в разделе Запуск приложения в автономном режиме. Теперь при нажатии клавиши приложение завершает работу, в результате чего окно консоли закрывается.
Дополнительное задание: добавление двух чисел
В этом примере показано, как считывать числа, а не строки и выполнять некоторые арифметические операции. Попробуйте изменить свой код:
Затем запустите обновленное приложение, как описано в разделе Запуск приложения.
Добавление системы управления исходным кодом Git
Теперь, когда вы создали приложение, вы можете добавить его в репозиторий Git. Visual Studio упрощает этот процесс с помощью инструментов Git, которые вы можете использовать непосредственно из IDE.
Git — это наиболее широко используемая современная система контроля версий, поэтому, независимо от того, являетесь ли вы профессиональным разработчиком или учитесь программировать, Git может быть для вас весьма полезным. Если вы новичок в Git, вы можете начать с сайта https://git-scm.com/. Там вы найдете памятки, популярную электронную книгу и видеоматериалы по основам GIT.
Чтобы связать свой код с Git, начните с создания нового репозитория Git, в котором находится ваш код:
В строке состояния в правом нижнем углу Visual Studio нажмите Добавить в систему управления версиями и выберите Git.
В диалоговом окне Создать репозиторий Git войдите в GitHub.
Имя репозитория заполняется автоматически в зависимости от расположения вашей папки. Ваш новый репозиторий является частным по умолчанию. Это означает, что только вы можете получить к нему доступ.
Независимо от того, является ли ваш репозиторий общедоступным или частным, лучше всего иметь удаленную резервную копию кода, надежно хранящуюся на GitHub. Даже если вы не работаете с командой, удаленный репозиторий позволит получать доступ к коду с любого компьютера.
Щелкните Создать и отправить.
После того как вы создали свой репозиторий, вы увидите информацию о статусе в строке состояния.
Первый значок со стрелками показывает, сколько исходящих и входящих фиксаций в вашей текущей ветке. Вы можете использовать этот значок, чтобы получать любые входящие или исходящие фиксации. Вы также можете выбрать отображение этих фиксаций в первую очередь. Для этого щелкните значок и выберите Просмотреть исходящие/входящие.
Второй значок с карандашом показывает количество незафиксированных изменений в вашем коде. Щелкните этот значок, чтобы просмотреть эти изменения в окне Git Changes.
Чтобы узнать больше о том, как использовать Git с вашим приложением, см. документацию по управлению версиями Visual Studio.
Очистка ресурсов
Если вы не планируете использовать это приложение в дальнейшем, удалите проект.
В Обозревателе решений, щелкните правой кнопкой элемент WhatIsYourName, чтобы открыть контекстное меню для вашего проекта. Затем выберите Открыть папку в проводнике.
Закройте Visual Studio.
В диалоговом окне проводника перейдите на два уровня папок вверх.
Щелкните правой кнопкой мыши папку WhatIsYourName и выберите пункт Удалить.
Следующие шаги
Поздравляем с завершением этого учебника! Дополнительные сведения см. в следующем руководстве.
Интерактивная отладка с помощью Visual Studio Code
ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python azureml версии 1
Узнайте, как выполнять интерактивную отладку экспериментов, конвейеров и развертываний Машинного обучения Azure с помощью Visual Studio Code (VS Code) и debugpy.
Запуск и отладка экспериментов в локальной среде
Используйте расширение Машинное обучение Azure для проверки, запуска и отладки экспериментов машинного обучения перед их отправкой в облако.
Предварительные требования
Расширение Машинного обучения Azure для VS Code (предварительный просмотр). Дополнительные сведения см. в разделе Настройка расширения Машинного обучения Azure VS Code.
Docker Desktop для Mac и Windows
Подсистема Docker для Linux.
Для Windows, хотя и не является обязательным, настоятельно рекомендуется использовать Docker с подсистемой Windows для Linux (WSL) 2.
Отладка эксперимента локально
Перед запуском эксперимента в локальной среде убедитесь, что:
В VS Code откройте представление расширения Машинного обучения Azure.
Разверните узел подписки, содержащий рабочую область. Если у вас ее еще нет, можно создать рабочую область машинного обучения Azure с помощью расширения.
Разверните узел рабочей области.
Щелкните правой кнопкой мыши узел Эксперименты и выберите Создать эксперимент. При появлении запроса введите имя для эксперимента.
Разверните узел эксперименты, щелкните правой кнопкой мыши эксперимент, который необходимо запустить, и выберите команду Запустить эксперимент.
Выберите в списке параметр Локально.
В первый раз используйте только в Windows. При появлении запроса на разрешение общей папки выберите Да. Включение общей папки позволяет Docker подключить каталог, содержащий скрипт, к контейнеру. Кроме того, он позволяет Docker сохранять журналы и выходные данные из запуска во временном каталоге в системе.
Выберите Да для отладки эксперимента. В противном случае нажмите кнопку Нет. Если выбрать нет, ваш эксперимент будет выполняться локально без подключения к отладчику.
Выберите создать новую конфигурацию запуска, чтобы создать конфигурацию запуска. Конфигурация запуска определяет скрипт, который требуется запустить, зависимости и наборы данных. Кроме того, если у вас уже есть такая возможность, выберите ее в раскрывающемся списке.
После отправки эксперимента создается образ Docker, содержащий скрипт, и конфигурации, указанные в конфигурации запуска.
Когда начинается процесс сборки образа Docker, файловый поток 60_control_log.txt выводится в консоль вывода в VS Code.
Первое создание образа Docker может занять несколько минут.
После сборки образа появится запрос на запуск отладчика. Задайте точки останова в скрипте и нажмите кнопку запустить отладчик, когда будете готовы начать отладку. Это присоединяет отладчик VS Code к контейнеру, выполняющему эксперимент. Кроме того, в расширении Машинное обучение Azure наведите указатель мыши на узел для текущего запуска и щелкните значок воспроизведения, чтобы запустить отладчик.
Для одного эксперимента нельзя использовать несколько сеансов отладки. Однако можно выполнить отладку двух или более экспериментов, используя несколько экземпляров VS Code.
На этом этапе вы сможете пошагово отлаживать код с помощью VS Code.
Если вы хотите отменить запуск в любой момент, щелкните правой кнопкой мыши узел выполнить и выберите команду Отменить запуск.
Аналогично удаленному запуску эксперимента можно развернуть узел выполнения, чтобы проверить журналы и выходные данные.
Образы Docker, использующие те же зависимости, определенные в вашей среде, используются повторно между запусками. Однако при запуске эксперимента с помощью новой или другой среды создается новый образ. Так как эти образы сохраняются в локальном хранилище, рекомендуется удалить старые или неиспользуемые образы Docker. Чтобы удалить образы из системы, используйте Docker CLI или расширение VS Code Docker.
Отладка и устранение неполадок в конвейерах машинного обучения
В некоторых случаях может потребоваться интерактивная отладка кода Python, используемого в конвейере машинного обучения. С помощью VS Code и debugpy можно присоединяться к коду, как он выполняется в среде обучения.
Предварительные требования
Рабочая область машинного обучения Azure, настроенная для использования виртуальной сети Azure.
Конвейер машинного обучения Azure, использующий скрипты Python в рамках этапов конвейера. Например, PythonScriptStep.
Машинное обучение вычислительного кластера Azure, который находится в виртуальной сети и используется конвейером для обучения.
Среда разработки, которая находится в виртуальной сети. Средой разработки может быть одно из следующего:
Дополнительные сведения об использовании виртуальной сети Azure с Машинным обучением Azure см. в статье Общие сведения об изоляции и конфиденциальности виртуальной сети.
Хотя вы можете работать с ресурсами Машинного обучения Azure, которые не находятся за виртуальной сетью, рекомендуется использовать виртуальную сеть.
Принцип работы
Этапы конвейера машинного обучения запускают скрипты Python. Эти скрипты изменяются для выполнения следующих действий:
Регистрация IP-адреса узла, на котором они выполняются. Используйте IP-адрес для подключения отладчика к сценарию.
Запустите компонент отладки debugpy и дождитесь подключения отладчика.
В среде разработки вы отслеживаете журналы, созданные процессом обучения, чтобы найти IP-адрес, на котором выполняется сценарий.
Вы указываете VS Code IP-адреса для подключения отладчика к с помощью launch.json файла.
Вы подключаете отладчик и интерактивно пройдите по сценарию.
Настройка скриптов Python
Чтобы включить отладку, внесите следующие изменения в скрипты Python, используемые шагами в конвейере ML:
Добавьте в файл следующие операторы импорта:
Добавьте следующие аргументы. Эти аргументы позволяют включить отладчик по мере необходимости и задать время ожидания для подключения отладчика:
Добавьте следующие операторы. Эти инструкции загружают текущий контекст выполнения, чтобы можно было зарегистрировать IP-адрес узла, на котором выполняется код:
Настройка конвейера машинного обучения
В разделе Настройка скриптов Python в скрипты, используемые этапами конвейера машинного обучения, были добавлены новые аргументы. В следующем фрагменте кода показано, как использовать эти аргументы, чтобы включить отладку для компонента и установить время ожидания. Здесь также показано, как использовать созданную ранее среду, задав runconfig=run_config :
При выполнении конвейера каждый шаг создает дочерний запуск. Если включена отладка, то измененный сценарий записывает в журнал сведения, аналогичные следующему тексту в 70_driver_log.txt для дочернего запуска:
Вы также можете найти IP-адрес из журналов выполнения для дочернего выполнения этого шага конвейера. Дополнительные сведения о просмотре этих сведений см. в статье мониторинг запусков и метрик эксперимента машинного обучения Azure.
Настройка среды разработки
Чтобы установить debugpy в среде разработки VS Code, используйте следующую команду:
Дополнительные сведения об использовании PTVSD в VS Code см. на этой странице.
Чтобы настроить VS Code для взаимодействия с вычислителем Машинного обучения Azure, в котором работает отладчик, создайте новую конфигурацию отладки:
В VS Code выберите меню Отладка, а затем щелкните Открыть конфигурации. Откроется файл с именем launch.json.
Если в разделе конфигурации уже есть другие записи, добавьте запятую (,) после вставленного кода.
При отладке нескольких скриптов в разных каталогах создайте отдельный раздел конфигурации для каждого скрипта.
Сохраните файл launch.json.
Подключение отладчика
Откройте VS Code и откройте локальную копию скрипта.
Задайте точки останова, где сценарий должен останавливаться после присоединения.
На этом этапе VS Code подключается к PTVSD внутри контейнера Docker и останавливается при достижении точки останова, заданной ранее. Теперь вы можете пошагово выполнять код, просматривать переменные и т. д.
Устранение неполадок развертываний
В некоторых случаях может потребоваться интерактивная отладка кода Python, содержащегося в развертывании модели. Например, если начальный сценарий не работает и причину невозможно определить с помощью дополнительного ведения журнала. Используя VS Code и debugpy, вы можете присоединить отладчик к коду, выполняющемуся внутри контейнера Docker.
Сохраняйте время и перехватите ошибки раньше, локально отлаживая управляемые сетевые конечные точки и развертывания. Дополнительные сведения см. в разделе Локальная отладка управляемых сетевых конечных точек в Visual Studio Code (предварительная версия).
Этот метод отладки не работает при использовании Model.deploy() и LocalWebservice.deploy_configuration для развертывания модели в локальной среде. В этом случае необходимо создать образ, используя метод Model.package().
Для локальных развертываний веб-службы требуется рабочая установка Docker в локальной системе. Дополнительные сведения об использовании Docker см. в соответствующей документации. Если работа с экземплярами вычислений ведется, значит, Docker уже установлен.
Настройка среды разработки
Чтобы установить debugpy в локальной среде разработки VS Code, используйте следующую команду:
Дополнительные сведения об использовании PTVSD в VS Code см. на этой странице.
Чтобы настроить VS Code для взаимодействия с образом Docker, создайте новую конфигурацию отладки:
В VS Code выберите меню Отладка в области выполнения, а затем выберите Открыть конфигурации. Откроется файл с именем launch.json.
В файле launch.json найдите единицу «configurations» (строку, содержащую «configurations»: [ ) и вставьте после нее следующий текст.
После вставки launch.js файл должен выглядеть следующим образом:
Если в разделе конфигурации уже есть другие записи, добавьте запятую ( , ) после вставленного кода.
Этот раздел присоединяется к контейнеру Docker через порт 5678.
Сохраните файл launch.json.
Создание образа, содержащего debugpy
Измените среду conda для своего развертывания, добавив в нее PTVSD. В следующем примере демонстрируется добавление с помощью параметра pip_packages :
Чтобы запустить debugpy и дождаться подключения при запуске службы, добавьте следующее в начало файла score.py :
Создайте образ на основе определения среды и извлеките его в локальный реестр.
В этом примере предполагается, что ws указывает на вашу рабочую область Машинное обучение Azure, а model представляет собой развертываемую модель. Файл myenv.yml содержит зависимости conda, созданные на шаге 1.
После создания и скачивания образа (этот процесс может занять больше 10 минут) путь к нему (включая репозиторий, имя и тег, который в данном случае также является хэшем) отображается в сообщении следующего вида:
Чтобы упростить работу с изображением локально, можно использовать следующую команду, чтобы добавить тег для этого изображения. Замените myimagepath в следующей команде на значение местоположения из предыдущего шага.
На остальных шагах для обозначения расположения локального образа вы можете указывать debug:1 вместо значения полного пути.
Отладка службы
Дополнительные сведения об отладке и установке точек останова см. на этой странице.
Чтобы запустить контейнер Docker с помощью образа, используйте следующую команду:
Эта команда присоединяет ваш score.py локально к объекту в контейнере. Таким образом, любые изменения в редакторе автоматически отражаются в контейнере
В контейнере выполните следующую команду в оболочке
После этого в оболочке в контейнере можно увидеть следующие выходные данные:
Чтобы присоединить VS Code к debugpy в контейнере, откройте VS Code и нажмите клавишу F5 или выберите Отладка. При появлении запроса выберите конфигурациюAzure Machine Learning: Docker Debug (Машинное обучение Azure: отладка Docker). Вы также можете выбрать значок расширения Запускна боковой панели, запись Azure Machine Learning Deployment: Docker Debug (Машинное обучение Azure: отладка Docker), а затем щелкнуть зеленую стрелку, чтобы присоединить отладчик.
Когда вы нажмете зеленую стрелку и подключите отладчик, то увидите новые сведения в интерфейсе VS Code контейнера:
Кроме того, в основном интерфейсе VS Code доступны следующие возможности:
И теперь локальный объект, score.py присоединенный к контейнеру, уже остановлен в точках останова, где вы задали значение. На этом этапе VS Code подключается к PTVSD внутри контейнера Docker и останавливается при достижении точки останова, заданной ранее. Теперь вы можете пошагово выполнять код, просматривать переменные и т. д.
Дополнительные сведения об использовании VS Code для отладки Python см. на странице Отладка кода Python.
Остановка контейнера
Чтобы остановить контейнер, используйте следующую команду:
Дальнейшие действия
Теперь, когда вы настроили VS Code удаленно, вы можете использовать вычислительный экземпляр в качестве удаленного вычислений от VS Code для интерактивной отладки кода.
Ознакомьтесь с дополнительными сведениями об устранении неполадок:
Учебник. Создание простого консольного приложения C# в Visual Studio (часть 1 из 2)
Изучая этот учебник, вы создадите и запустите консольное приложение C# с помощью Visual Studio, а также ознакомитесь с некоторыми возможностями интегрированной среды разработки (IDE) Visual Studio. Этот учебник представляет собой первую часть серии, состоящей из двух частей.
Изучив это руководство, вы:
В рамках части 2 вы расширите это приложение, добавив дополнительные проекты, изучите методы отладки и будете использовать сторонние пакеты.
Предварительные требования
Необходимо установить Visual Studio.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Создание проекта
Сначала создайте проект приложения C#. Для этого типа проекта уже имеются все нужные файлы шаблонов.
Откройте Visual Studio и в начальном окне выберите Создать проект.
В окне Создание проекта выберите C# в списке языков. Затем выберите Windows в списке платформ и Консоль в списке типов проектов.
Применив фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и щелкните Далее.
Если шаблон Консольное приложение не отображается, выберите Установка других средств и компонентов.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.
В поле Имя проекта окна Настроить новый проект введите Calculator. Затем щелкните Далее.
В окне Дополнительные сведения для целевой платформы должна быть указана версия .NET Core 3.1. Если это не так, выберите .NET Core 3.1. Затем нажмите Создать.
Visual Studio открывает новый проект, включающий код по умолчанию «Hello World». Чтобы просмотреть его в редакторе, выберите файл кода Program.cs в окне Обозревателя решений, которое обычно находится в правой части Visual Studio.
Код «Hello World» по умолчанию вызывает метод WriteLine для отображения литеральной строки «Hello, World!» в окне консоли. Если нажать клавишу F5, программа по умолчанию запустится в режиме отладки. После запуска приложения в отладчике окно консоли остается открытым. Для закрытия консольного окна нажмите любую клавишу.
Откройте Visual Studio и в начальном окне выберите Создать проект.
Применив фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и нажмите Далее.
Если шаблон Консольное приложение не отображается, щелкните Установка других средств и компонентов.
В окне Настроить новый проект введите Calculator в поле Имя проекта, а затем щелкните Далее.
В окне Дополнительные сведения для целевой платформы должна быть указана версия .NET 6.0. Нажмите кнопку создания.
Visual Studio открывает новый проект, включающий код по умолчанию «Hello World».
Чтобы просмотреть его в редакторе, выберите файл кода Program.cs в окне Обозревателя решений, которое обычно находится в правой части Visual Studio.
Один оператор кода вызывает метод WriteLine для отображения литеральной строки «Hello, World!» в окне консоли. Если нажать клавишу F5, программа по умолчанию запустится в режиме отладки. После запуска приложения в отладчике окно консоли остается открытым. Для закрытия консольного окна нажмите любую клавишу.
Создание приложения
В этом разделе выполняются следующие действия:
Вычисления с целыми числами
Давайте начнем с базовых расчетов для целых чисел в C#.
В редакторе кода удалите созданный по умолчанию код Hello, World!.
Вместо нее введите следующий код:
Обратите внимание на то, что при этом функция IntelliSense в Visual Studio предлагает возможность автовыполнения записи.
Нажмите зеленую кнопку Пуск или клавишу F5 рядом с калькулятором, чтобы создать и запустить программу.
Откроется окно консоли с суммой 42 + 119, которая равна 161.
Закройте окно консоли.
В разделе Обозреватель решений в области справа выберите Program.cs, чтобы отобразить файл в редакторе кода.
В редакторе кода замените код по умолчанию Hello World ( Console.WriteLine(«Hello World!»); ).
Замените строку следующим кодом:
Если вы вводите код, возможность Visual Studio IntelliSense предлагает выполнить автозавершение ввода.
Чтобы создать и запустить приложение, нажмите клавишу F5 или выберите зеленую стрелку рядом с элементом Calculator на верхней панели инструментов.
Откроется окно консоли с суммой 42 + 119, которая равна 161.
Закройте окно консоли.
Добавление кода для создания калькулятора
Давайте продолжим, добавив более сложный набор кода калькулятора в проект.
В редакторе кода замените весь код в program.cs на следующий новый код:
Нажмите кнопку Калькулятор или клавишу F5, чтобы запустить приложение.
Откроется окно консоли.
В окне консоли используйте подсказки, чтобы суммировать числа 42 и 119.
Теперь приложение должно выглядеть как на следующем снимке экрана:
В редакторе кода замените весь код в program.cs на следующий новый код:
Нажмите кнопку Калькулятор или клавишу F5, чтобы запустить приложение.
Откроется окно консоли.
В окне консоли используйте подсказки, чтобы суммировать числа 42 и 119.
Теперь приложение должно выглядеть как на следующем снимке экрана:
Добавление возможностей десятичного числа
Далее мы будем изменять этот код, добавляя функциональные возможности.
Пока наше приложение принимает и возвращает только целые числа. Например, при запуске программы и делении числа 42 на число 119 вы получите результат 0, что для нас недостаточно точно.
Чтобы исправить код для повышения точности при обработке десятичных чисел, выполните указанные ниже действия.
В разделе program.cs в редакторе Visual Studio нажмите сочетание клавиш CTRL+H, чтобы открыть элемент управления Найти и заменить.
Введите int в элементе управления, а затем введите float в поле Заменить.
Выберите значки Учитывать регистр и Слово целиком в элементе управления или нажмите сочетание клавиш ALT+C и ALT+W.
Щелкните значок Заменить все или нажмите сочетание клавиш ALT+A, чтобы выполнить поиск и замену.
Еще раз запустите приложение калькулятора и разделите число 42 на число 119.
Теперь приложение возвращает не просто ноль, а десятичное число.
Теперь приложение может возвращать результаты в виде десятичного числа. Давайте изменим код так, чтобы приложение могло выполнять операции над десятичными числами.
Запустите приложение калькулятора и разделите число 42,5 на число 119,75.
Теперь приложение принимает десятичные значения и возвращает более длинное десятичное число в качестве результата.
В разделе Revise the code (Пересмотр кода) можно уменьшить количество десятичных разрядов в результатах.
Отладка приложения
Вы улучшили базовое приложение калькулятора, но ваше приложение еще не обрабатывает исключения, например ошибки ввода данных пользователем. Например, если пользователи попытаются разделить на ноль или ввести несоответствующий символ, приложение может остановить работу, вернуть ошибку или неожиданный нечисловой результат.
Давайте рассмотрим несколько типичных ошибок во входных данных, найдем их с помощью отладчика, если они там есть, и исправим код, чтобы устранить их.
Дополнительные сведения об отладчике и принципах его работы см. на странице Знакомство с отладчиком Visual Studio.
Исправление ошибки деления на ноль
При попытке деления числа на ноль консольное приложение может перестать отвечать, а затем покажет ошибку в редакторе кода.
Иногда приложение не зависает, а отладчик не отображает ошибку деления на ноль. Вместо этого приложение может вернуть непредвиденный нечисловой результат, например символ бесконечности. Приведенное ниже исправление кода по-прежнему применимо.
Чтобы изменить код для обработки этой ошибки, выполните указанные ниже действия.
В разделе program.cs замените код между case «d»: и комментарием // Wait for the user to respond before closing на следующий код:
Когда вы добавите новый код, раздел с оператором switch будет выглядеть так, как показано на следующем снимке экрана:
Теперь, когда вы будете делить любое число на ноль, приложение запросит другое число и будет отображать запрос, пока вы не предоставите ненулевое значение.
Исправление ошибки формата
Если ввести буквенный символ, когда для приложения необходим цифровой символ, приложение остановит работу. Visual Studio отображает причину проблемы в редакторе кода.
Чтобы решить эту проблему, можно выполнить рефакторинг ранее введенного кода.
Пересмотр кода
Класс Calculator выполняет основную часть работы для вычислений, а класс Program отвечает за пользовательский интерфейс и обработку ошибок.
В разделе program.cs удалите все из пространства имен Calculator между открывающей и закрывающей фигурными скобками:
Добавьте в фигурные скобки следующий новый класс Calculator :
Кроме того, добавьте новый класс Program со следующим содержимым:
Нажмите кнопку Калькулятор или клавишу F5, чтобы запустить приложение.
Разделите число 42 на число 119, следуя подсказкам на экране. Результаты должны выглядеть так, как показано на снимке экрана ниже.
Теперь вы можете ввести дополнительные формулы, пока не закроете консольное приложение. Для результатов также можно настроить меньшее количество десятичных разрядов. Если ввести неправильный символ, вы получите соответствующий ответ об ошибке.
Закрытие приложения
Закройте приложение «Калькулятор», если оно еще открыто.
Закройте область вывода в Visual Studio.
В Visual Studio нажмите клавиши CTRL+S, чтобы сохранить приложение.
Добавление системы управления исходным кодом Git
Теперь, когда вы создали приложение, вы можете добавить его в репозиторий Git. Visual Studio упрощает этот процесс с помощью инструментов Git, которые вы можете использовать непосредственно из IDE.
Git — это наиболее широко используемая современная система контроля версий, поэтому, независимо от того, являетесь ли вы профессиональным разработчиком или учитесь программировать, Git может быть для вас весьма полезным. Если вы новичок в Git, вы можете начать с сайта https://git-scm.com/. Там вы найдете памятки, популярную электронную книгу и видеоматериалы по основам GIT.
Чтобы связать свой код с Git, начните с создания нового репозитория Git, в котором находится ваш код:
В строке состояния в правом нижнем углу Visual Studio нажмите Добавить в систему управления версиями и выберите Git.
В диалоговом окне Создать репозиторий Git войдите в GitHub.
Имя репозитория заполняется автоматически в зависимости от расположения вашей папки. Ваш новый репозиторий является частным по умолчанию. Это означает, что только вы можете получить к нему доступ.
Независимо от того, является ли ваш репозиторий общедоступным или частным, лучше всего иметь удаленную резервную копию кода, надежно хранящуюся на GitHub. Даже если вы не работаете с командой, удаленный репозиторий позволит получать доступ к коду с любого компьютера.
Щелкните Создать и отправить.
После того как вы создали свой репозиторий, вы увидите информацию о статусе в строке состояния.
Первый значок со стрелками показывает, сколько исходящих и входящих фиксаций в вашей текущей ветке. Вы можете использовать этот значок, чтобы получать любые входящие или исходящие фиксации. Вы также можете выбрать отображение этих фиксаций в первую очередь. Для этого щелкните значок и выберите Просмотреть исходящие/входящие.
Второй значок с карандашом показывает количество незафиксированных изменений в вашем коде. Щелкните этот значок, чтобы просмотреть эти изменения в окне Git Changes.
Чтобы узнать больше о том, как использовать Git с вашим приложением, см. документацию по управлению версиями Visual Studio.
Проверка: завершение кодирования
В рамках этого руководства вы внесли множество изменений в приложение калькулятора. Теперь оно более эффективно использует вычислительные ресурсы и обрабатывает большинство ошибок во входных данных.
Ниже мы собрали в один блок весь код:
Следующие шаги
Перейдите ко второй части этого руководства:
Prerequisites
Use Debug build configuration
In the Debug configuration, a program compiles with full symbolic debug information and no optimization. Optimization complicates debugging, because the relationship between source code and generated instructions is more complex. The release configuration of a program has no symbolic debug information and is fully optimized.
By default, Visual Studio Code launch settings use the Debug build configuration, so you don’t need to change it before debugging.
Start Visual Studio Code.
Set a breakpoint
A breakpoint temporarily interrupts the execution of the application before the line with the breakpoint is run.
Open the Program.cs file.
Set a breakpoint on the line that displays the name, date, and time, by clicking in the left margin of the code window. The left margin is to the left of the line numbers. Other ways to set a breakpoint are by pressing F9 or choosing Run > Toggle Breakpoint from the menu while the line of code is selected.
Visual Studio Code indicates the line on which the breakpoint is set by displaying a red dot in the left margin.
Set up for terminal input
The breakpoint is located after a Console.ReadLine method call. The Debug Console doesn’t accept terminal input for a running program. To handle terminal input while debugging, you can use the integrated terminal (one of the Visual Studio Code windows) or an external terminal. For this tutorial, you use the integrated terminal.
Change the console setting from internalConsole to integratedTerminal :
Save your changes.
Start debugging
Open the Debug view by selecting the Debugging icon on the left side menu.
Select the green arrow at the top of the pane, next to .NET Core Launch (console). Other ways to start the program in debugging mode are by pressing F5 or choosing Run > Start Debugging from the menu.
Select the Terminal tab to see the «What is your name?» prompt that the program displays before waiting for a response.
Program execution stops when it reaches the breakpoint and before the Console.WriteLine method runs. The Locals section of the Variables window displays the values of variables that are defined in the currently running method.
Use the Debug Console
The Debug Console window lets you interact with the application you’re debugging. You can change the value of variables to see how it affects your program.
Select the Debug Console tab.
Enter name = «Gracie» at the prompt at the bottom of the Debug Console window and press the Enter key.
Enter currentDate = DateTime.Parse(«2019-11-16T17:25:00Z»).ToUniversalTime() at the bottom of the Debug Console window and press the Enter key.
The Variables window displays the new values of the name and currentDate variables.
Select the Terminal tab again.
The values displayed in the console window correspond to the changes you made in the Debug Console.
Press any key to exit the application and stop debugging.
Set a conditional breakpoint
The program displays the string that the user enters. What happens if the user doesn’t enter anything? You can test this with a useful debugging feature called a conditional breakpoint.
Instead of a conditional expression, you can specify a hit count, which interrupts program execution before a statement is run a specified number of times. Another option is to specify a filter condition, which interrupts program execution based on such attributes as a thread identifier, process name, or thread name.
In the Terminal tab, press the Enter key when prompted to enter your name.
Because the condition you specified ( name is either null or String.Empty) has been satisfied, program execution stops when it reaches the breakpoint and before the Console.WriteLine method runs.
Select the Continue button on the toolbar to continue program execution.
Select the Terminal tab, and press any key to exit the program and stop debugging.
Clear the breakpoint by clicking on the dot in the left margin of the code window. Other ways to clear a breakpoint are by pressing F9 or choosing Run > Toggle Breakpoint from the menu while the line of code is selected.
If you get a warning that the breakpoint condition will be lost, select Remove Breakpoint.
Step through a program
Visual Studio Code also allows you to step line by line through a program and monitor its execution. Ordinarily, you’d set a breakpoint and follow program flow through a small part of your program code. Since this program is small, you can step through the entire program.
Set a breakpoint on the opening curly brace of the Main method.
Press F5 to start debugging.
Visual Studio Code highlights the breakpoint line.
At this point, the Variables window shows that the args array is empty, and name and currentDate have default values.
Visual Studio Code highlights the next line.
The Terminal tab might not display the string you enter while you’re entering it, but the Console.ReadLine method will capture your input.
Visual Studio Code highlights the currentDate variable assignment. The Variables window shows the value returned by the call to the Console.ReadLine method. The Terminal tab displays the string you entered at the prompt.
The Variables window shows the value of the currentDate variable after the assignment from the DateTime.Now property.
Visual Studio Code calls the Console.WriteLine(String, Object, Object) method. The console window displays the formatted string.
Select the Terminal tab.
The terminal displays «Press any key to exit. «
Press any key to exit the program.
Use Release build configuration
Once you’ve tested the Debug version of your application, you should also compile and test the Release version. The Release version incorporates compiler optimizations that can affect the behavior of an application. For example, compiler optimizations that are designed to improve performance can create race conditions in multithreaded applications.
To build and test the Release version of your console application, open the Terminal and run the following command:
Additional resources
Next steps
In this tutorial, you used Visual Studio Code debugging tools. In the next tutorial, you publish a deployable version of the app.
Prerequisites
Use Debug build configuration
In the Debug configuration, a program compiles with full symbolic debug information and no optimization. Optimization complicates debugging, because the relationship between source code and generated instructions is more complex. The release configuration of a program has no symbolic debug information and is fully optimized.
By default, Visual Studio Code launch settings use the Debug build configuration, so you don’t need to change it before debugging.
Start Visual Studio Code.
Set a breakpoint
A breakpoint temporarily interrupts the execution of the application before the line with the breakpoint is executed.
Open the Program.cs file.
Set a breakpoint on the line that displays the name, date, and time, by clicking in the left margin of the code window. The left margin is to the left of the line numbers. Other ways to set a breakpoint are by pressing F9 or choosing Run > Toggle Breakpoint from the menu while the line of code is selected.
Visual Studio Code indicates the line on which the breakpoint is set by displaying a red dot in the left margin.
Set up for terminal input
The breakpoint is located after a Console.ReadLine method call. The Debug Console doesn’t accept terminal input for a running program. To handle terminal input while debugging, you can use the integrated terminal (one of the Visual Studio Code windows) or an external terminal. For this tutorial, you use the integrated terminal.
Change the console setting from internalConsole to integratedTerminal :
Save your changes.
Start debugging
Open the Debug view by selecting the Debugging icon on the left side menu.
Select the green arrow at the top of the pane, next to .NET Core Launch (console). Other ways to start the program in debugging mode are by pressing F5 or choosing Run > Start Debugging from the menu.
Select the Terminal tab to see the «What is your name?» prompt that the program displays before waiting for a response.
Program execution stops when it reaches the breakpoint and before the Console.WriteLine method executes. The Locals section of the Variables window displays the values of variables that are defined in the currently executing method.
Use the Debug Console
The Debug Console window lets you interact with the application you’re debugging. You can change the value of variables to see how it affects your program.
Select the Debug Console tab.
Enter name = «Gracie» at the prompt at the bottom of the Debug Console window and press the Enter key.
Enter currentDate = DateTime.Parse(«2019-11-16T17:25:00Z»).ToUniversalTime() at the bottom of the Debug Console window and press the Enter key.
The Variables window displays the new values of the name and currentDate variables.
Select the Terminal tab again.
The values displayed in the console window correspond to the changes you made in the Debug Console.
Press any key to exit the application and stop debugging.
Set a conditional breakpoint
The program displays the string that the user enters. What happens if the user doesn’t enter anything? You can test this with a useful debugging feature called a conditional breakpoint.
Instead of a conditional expression, you can specify a hit count, which interrupts program execution before a statement is executed a specified number of times. Another option is to specify a filter condition, which interrupts program execution based on such attributes as a thread identifier, process name, or thread name.
In the Terminal tab, press the Enter key when prompted to enter your name.
Because the condition you specified ( name is either null or String.Empty) has been satisfied, program execution stops when it reaches the breakpoint and before the Console.WriteLine method executes.
Select the Continue button on the toolbar to continue program execution.
Select the Terminal tab, and press any key to exit the program and stop debugging.
Clear the breakpoint by clicking on the dot in the left margin of the code window. Other ways to clear a breakpoint are by pressing F9 or choosing Run > Toggle Breakpoint from the menu while the line of code is selected.
If you get a warning that the breakpoint condition will be lost, select Remove Breakpoint.
Step through a program
Visual Studio Code also allows you to step line by line through a program and monitor its execution. Ordinarily, you’d set a breakpoint and follow program flow through a small part of your program code. Since this program is small, you can step through the entire program.
Set a breakpoint on the opening curly brace of the Main method.
Press F5 to start debugging.
Visual Studio Code highlights the breakpoint line.
At this point, the Variables window shows that the args array is empty, and name and currentDate have default values.
Visual Studio Code highlights the next line.
The Terminal tab might not display the string you enter while you’re entering it, but the Console.ReadLine method will capture your input.
Visual Studio Code highlights the currentDate variable assignment. The Variables window shows the value returned by the call to the Console.ReadLine method. The Terminal tab displays the string you entered at the prompt.
The Variables window shows the value of the currentDate variable after the assignment from the DateTime.Now property.
Visual Studio Code calls the Console.WriteLine(String, Object, Object) method. The console window displays the formatted string.
Select the Terminal tab.
The terminal displays «Press any key to exit. «
Press any key to exit the program.
Use Release build configuration
Once you’ve tested the Debug version of your application, you should also compile and test the Release version. The Release version incorporates compiler optimizations that can affect the behavior of an application. For example, compiler optimizations that are designed to improve performance can create race conditions in multithreaded applications.
To build and test the Release version of your console application, open the Terminal and run the following command:
Additional resources
Next steps
In this tutorial, you used Visual Studio Code debugging tools. In the next tutorial, you publish a deployable version of the app.
Учебник. Создание простого консольного приложения C# в Visual Studio (часть 1 из 2)
Изучая этот учебник, вы создадите и запустите консольное приложение C# с помощью Visual Studio, а также ознакомитесь с некоторыми возможностями интегрированной среды разработки (IDE) Visual Studio. Этот учебник представляет собой первую часть серии, состоящей из двух частей.
Изучив это руководство, вы:
В рамках части 2 вы расширите это приложение, добавив дополнительные проекты, изучите методы отладки и будете использовать сторонние пакеты.
Предварительные требования
Необходимо установить Visual Studio.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Создание проекта
Сначала создайте проект приложения C#. Для этого типа проекта уже имеются все нужные файлы шаблонов.
Откройте Visual Studio и в начальном окне выберите Создать проект.
В окне Создание проекта выберите C# в списке языков. Затем выберите Windows в списке платформ и Консоль в списке типов проектов.
Применив фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и щелкните Далее.
Если шаблон Консольное приложение не отображается, выберите Установка других средств и компонентов.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.
В поле Имя проекта окна Настроить новый проект введите Calculator. Затем щелкните Далее.
В окне Дополнительные сведения для целевой платформы должна быть указана версия .NET Core 3.1. Если это не так, выберите .NET Core 3.1. Затем нажмите Создать.
Visual Studio открывает новый проект, включающий код по умолчанию «Hello World». Чтобы просмотреть его в редакторе, выберите файл кода Program.cs в окне Обозревателя решений, которое обычно находится в правой части Visual Studio.
Код «Hello World» по умолчанию вызывает метод WriteLine для отображения литеральной строки «Hello, World!» в окне консоли. Если нажать клавишу F5, программа по умолчанию запустится в режиме отладки. После запуска приложения в отладчике окно консоли остается открытым. Для закрытия консольного окна нажмите любую клавишу.
Откройте Visual Studio и в начальном окне выберите Создать проект.
Применив фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и нажмите Далее.
Если шаблон Консольное приложение не отображается, щелкните Установка других средств и компонентов.
В окне Настроить новый проект введите Calculator в поле Имя проекта, а затем щелкните Далее.
В окне Дополнительные сведения для целевой платформы должна быть указана версия .NET 6.0. Нажмите кнопку создания.
Visual Studio открывает новый проект, включающий код по умолчанию «Hello World».
Чтобы просмотреть его в редакторе, выберите файл кода Program.cs в окне Обозревателя решений, которое обычно находится в правой части Visual Studio.
Один оператор кода вызывает метод WriteLine для отображения литеральной строки «Hello, World!» в окне консоли. Если нажать клавишу F5, программа по умолчанию запустится в режиме отладки. После запуска приложения в отладчике окно консоли остается открытым. Для закрытия консольного окна нажмите любую клавишу.
Создание приложения
В этом разделе выполняются следующие действия:
Вычисления с целыми числами
Давайте начнем с базовых расчетов для целых чисел в C#.
В редакторе кода удалите созданный по умолчанию код Hello, World!.
Вместо нее введите следующий код:
Обратите внимание на то, что при этом функция IntelliSense в Visual Studio предлагает возможность автовыполнения записи.
Нажмите зеленую кнопку Пуск или клавишу F5 рядом с калькулятором, чтобы создать и запустить программу.
Откроется окно консоли с суммой 42 + 119, которая равна 161.
Закройте окно консоли.
В разделе Обозреватель решений в области справа выберите Program.cs, чтобы отобразить файл в редакторе кода.
В редакторе кода замените код по умолчанию Hello World ( Console.WriteLine(«Hello World!»); ).
Замените строку следующим кодом:
Если вы вводите код, возможность Visual Studio IntelliSense предлагает выполнить автозавершение ввода.
Чтобы создать и запустить приложение, нажмите клавишу F5 или выберите зеленую стрелку рядом с элементом Calculator на верхней панели инструментов.
Откроется окно консоли с суммой 42 + 119, которая равна 161.
Закройте окно консоли.
Добавление кода для создания калькулятора
Давайте продолжим, добавив более сложный набор кода калькулятора в проект.
В редакторе кода замените весь код в program.cs на следующий новый код:
Нажмите кнопку Калькулятор или клавишу F5, чтобы запустить приложение.
Откроется окно консоли.
В окне консоли используйте подсказки, чтобы суммировать числа 42 и 119.
Теперь приложение должно выглядеть как на следующем снимке экрана:
В редакторе кода замените весь код в program.cs на следующий новый код:
Нажмите кнопку Калькулятор или клавишу F5, чтобы запустить приложение.
Откроется окно консоли.
В окне консоли используйте подсказки, чтобы суммировать числа 42 и 119.
Теперь приложение должно выглядеть как на следующем снимке экрана:
Добавление возможностей десятичного числа
Далее мы будем изменять этот код, добавляя функциональные возможности.
Пока наше приложение принимает и возвращает только целые числа. Например, при запуске программы и делении числа 42 на число 119 вы получите результат 0, что для нас недостаточно точно.
Чтобы исправить код для повышения точности при обработке десятичных чисел, выполните указанные ниже действия.
В разделе program.cs в редакторе Visual Studio нажмите сочетание клавиш CTRL+H, чтобы открыть элемент управления Найти и заменить.
Введите int в элементе управления, а затем введите float в поле Заменить.
Выберите значки Учитывать регистр и Слово целиком в элементе управления или нажмите сочетание клавиш ALT+C и ALT+W.
Щелкните значок Заменить все или нажмите сочетание клавиш ALT+A, чтобы выполнить поиск и замену.
Еще раз запустите приложение калькулятора и разделите число 42 на число 119.
Теперь приложение возвращает не просто ноль, а десятичное число.
Теперь приложение может возвращать результаты в виде десятичного числа. Давайте изменим код так, чтобы приложение могло выполнять операции над десятичными числами.
Запустите приложение калькулятора и разделите число 42,5 на число 119,75.
Теперь приложение принимает десятичные значения и возвращает более длинное десятичное число в качестве результата.
В разделе Revise the code (Пересмотр кода) можно уменьшить количество десятичных разрядов в результатах.
Отладка приложения
Вы улучшили базовое приложение калькулятора, но ваше приложение еще не обрабатывает исключения, например ошибки ввода данных пользователем. Например, если пользователи попытаются разделить на ноль или ввести несоответствующий символ, приложение может остановить работу, вернуть ошибку или неожиданный нечисловой результат.
Давайте рассмотрим несколько типичных ошибок во входных данных, найдем их с помощью отладчика, если они там есть, и исправим код, чтобы устранить их.
Дополнительные сведения об отладчике и принципах его работы см. на странице Знакомство с отладчиком Visual Studio.
Исправление ошибки деления на ноль
При попытке деления числа на ноль консольное приложение может перестать отвечать, а затем покажет ошибку в редакторе кода.
Иногда приложение не зависает, а отладчик не отображает ошибку деления на ноль. Вместо этого приложение может вернуть непредвиденный нечисловой результат, например символ бесконечности. Приведенное ниже исправление кода по-прежнему применимо.
Чтобы изменить код для обработки этой ошибки, выполните указанные ниже действия.
В разделе program.cs замените код между case «d»: и комментарием // Wait for the user to respond before closing на следующий код:
Когда вы добавите новый код, раздел с оператором switch будет выглядеть так, как показано на следующем снимке экрана:
Теперь, когда вы будете делить любое число на ноль, приложение запросит другое число и будет отображать запрос, пока вы не предоставите ненулевое значение.
Исправление ошибки формата
Если ввести буквенный символ, когда для приложения необходим цифровой символ, приложение остановит работу. Visual Studio отображает причину проблемы в редакторе кода.
Чтобы решить эту проблему, можно выполнить рефакторинг ранее введенного кода.
Пересмотр кода
Класс Calculator выполняет основную часть работы для вычислений, а класс Program отвечает за пользовательский интерфейс и обработку ошибок.
В разделе program.cs удалите все из пространства имен Calculator между открывающей и закрывающей фигурными скобками:
Добавьте в фигурные скобки следующий новый класс Calculator :
Кроме того, добавьте новый класс Program со следующим содержимым:
Нажмите кнопку Калькулятор или клавишу F5, чтобы запустить приложение.
Разделите число 42 на число 119, следуя подсказкам на экране. Результаты должны выглядеть так, как показано на снимке экрана ниже.
Теперь вы можете ввести дополнительные формулы, пока не закроете консольное приложение. Для результатов также можно настроить меньшее количество десятичных разрядов. Если ввести неправильный символ, вы получите соответствующий ответ об ошибке.
Закрытие приложения
Закройте приложение «Калькулятор», если оно еще открыто.
Закройте область вывода в Visual Studio.
В Visual Studio нажмите клавиши CTRL+S, чтобы сохранить приложение.
Добавление системы управления исходным кодом Git
Теперь, когда вы создали приложение, вы можете добавить его в репозиторий Git. Visual Studio упрощает этот процесс с помощью инструментов Git, которые вы можете использовать непосредственно из IDE.
Git — это наиболее широко используемая современная система контроля версий, поэтому, независимо от того, являетесь ли вы профессиональным разработчиком или учитесь программировать, Git может быть для вас весьма полезным. Если вы новичок в Git, вы можете начать с сайта https://git-scm.com/. Там вы найдете памятки, популярную электронную книгу и видеоматериалы по основам GIT.
Чтобы связать свой код с Git, начните с создания нового репозитория Git, в котором находится ваш код:
В строке состояния в правом нижнем углу Visual Studio нажмите Добавить в систему управления версиями и выберите Git.
В диалоговом окне Создать репозиторий Git войдите в GitHub.
Имя репозитория заполняется автоматически в зависимости от расположения вашей папки. Ваш новый репозиторий является частным по умолчанию. Это означает, что только вы можете получить к нему доступ.
Независимо от того, является ли ваш репозиторий общедоступным или частным, лучше всего иметь удаленную резервную копию кода, надежно хранящуюся на GitHub. Даже если вы не работаете с командой, удаленный репозиторий позволит получать доступ к коду с любого компьютера.
Щелкните Создать и отправить.
После того как вы создали свой репозиторий, вы увидите информацию о статусе в строке состояния.
Первый значок со стрелками показывает, сколько исходящих и входящих фиксаций в вашей текущей ветке. Вы можете использовать этот значок, чтобы получать любые входящие или исходящие фиксации. Вы также можете выбрать отображение этих фиксаций в первую очередь. Для этого щелкните значок и выберите Просмотреть исходящие/входящие.
Второй значок с карандашом показывает количество незафиксированных изменений в вашем коде. Щелкните этот значок, чтобы просмотреть эти изменения в окне Git Changes.
Чтобы узнать больше о том, как использовать Git с вашим приложением, см. документацию по управлению версиями Visual Studio.
Проверка: завершение кодирования
В рамках этого руководства вы внесли множество изменений в приложение калькулятора. Теперь оно более эффективно использует вычислительные ресурсы и обрабатывает большинство ошибок во входных данных.
Ниже мы собрали в один блок весь код:
Следующие шаги
Перейдите ко второй части этого руководства:
Руководство. Отладка кода Visual Basic с помощью Visual Studio
В этом пошаговом руководстве рассматриваются возможности отладчика Visual Studio. Более полное описание функций отладчика см. в статье c Знакомство с отладчиком Visual Studio. Отладка приложения обычно означает запуск и выполнение приложения с подключенным отладчиком. При этом в отладчике доступно множество способов наблюдения за выполнением кода. Вы можете пошагово перемещаться по коду и просматривать значения, хранящиеся в переменных, задавать контрольные значения для переменных, чтобы отслеживать изменение значений, изучать путь выполнения кода, просматривать выполнение ветви кода и т. д. Если вы не знакомы с процессом отладки, перед выполнением задач в этой статье рекомендуется прочесть документ об отладке для начинающих.
Несмотря на то, что демонстрационное приложение написано на Visual Basic, большинство функций применимы к C#, C++, F#, Python, JavaScript и другим языкам, поддерживаемым Visual Studio (F# не поддерживает возможность «Изменить и продолжить» F# и JavaScript не поддерживают окно Видимые). Снимки экрана приведены для Visual Basic.
В этом руководстве рассмотрены следующие задачи:
Предварительные требования
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Создание проекта
Запустите Visual Studio.
Если окно запуска не открыто, выберите Файл>Окно запуска.
На начальном экране выберите Создать проект.
В поле поиска окна Создание проекта введите консоль. Затем выберите Visual Basic в списке языков и Windows в списке платформ.
В поле Имя проекта окна Настроить новый проект введите get-started-debugging. Нажмите кнопку Далее.
Новый проект открывается в Visual Studio.
Запустите Visual Studio.
Если окно запуска не открыто, выберите Файл>Окно запуска.
На начальном экране выберите Создать проект.
В поле поиска окна Создание проекта введите консоль. Затем выберите Visual Basic в списке языков и Windows в списке платформ.
В поле Имя проекта окна Настроить новый проект введите get-started-debugging. Нажмите кнопку Далее.
Убедитесь, что в окне Дополнительные сведения выбрана рекомендуемая целевая платформа (.NET 6.0), а затем нажмите кнопку Создать.
Новый проект открывается в Visual Studio.
Создание приложения
Откройте файл Program.vb и замените все его содержимое по умолчанию следующим кодом:
Запуск отладчика
Нажмите клавишу F5 (Отладка > Начать отладку) или кнопку Начать отладку на панели инструментов отладки.
При нажатии клавиши F5 происходит запуск приложения с присоединенным отладчиком. Но пока мы не сделали ничего особенного, чтобы проанализировать код. Поэтому приложение будет просто загружено, и вы увидите выходные данные консоли.
В этом руководстве мы более подробно рассмотрим приложение с отладчиком и познакомимся с возможностями отладчика.
Остановите отладчик, нажав красную кнопку остановки (SHIFT + F5).
В окне консоли нажмите клавишу, чтобы закрыть его.
Нажмите клавишу F5 (Отладка > Начать отладку) или зеленую кнопку Начать отладку на панели инструментов отладки.
При нажатии клавиши F5 происходит запуск приложения с присоединенным отладчиком. Но пока мы не сделали ничего особенного, чтобы проанализировать код. Поэтому приложение будет просто загружено, и вы увидите выходные данные консоли.
В этом руководстве мы более подробно рассмотрим приложение с отладчиком и познакомимся с возможностями отладчика.
Остановите отладчик, нажав сочетание клавиш (SHIFT + F5) или красную кнопку Остановить отладку на панели инструментов отладки.
В окне консоли нажмите клавишу, чтобы закрыть его.
Установка точки останова и запуск отладчика
В цикле For функции Main установите точку останова, щелкнув левое поле следующей строки кода:
В месте установки точки останова появится красный круг .
Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода.
Нажмите клавишу F5 или кнопку Начать отладку. Приложение запустится и отладчик перейдет к строке кода, где задана точка останова.
Желтая стрелка представляет оператор, на котором приостановлен отладчик. В этой же точке приостанавливается выполнение приложения (этот оператор пока не выполнен).
Если приложение еще не запущено, клавиша F5 запускает отладчик и останавливается в первой точке останова. В противном случае F5 продолжает выполнение приложения до следующей точки останова.
Точки останова полезны, если вам известны строка или раздел кода, которые вы хотите подробно изучить. Дополнительные сведения о различных типах точек останова, которые можно задать, например об условных точках останова, см. в разделе Использование точек останова.
В цикле For функции Main установите точку останова, щелкнув левое поле следующей строки кода:
В месте установки точки останова появится красный круг.
Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода.
Нажмите клавишу F5 (Отладка > Начать отладку) или кнопку Начать отладку на панели инструментов отладки. Приложение запустится и отладчик перейдет к строке кода, где задана точка останова.
Желтая стрелка представляет оператор, на котором приостановлен отладчик. В этой же точке приостанавливается выполнение приложения (этот оператор пока не выполнен).
Если приложение еще не запущено, клавиша F5 запускает отладчик и останавливается в первой точке останова. В противном случае F5 продолжает выполнение приложения до следующей точки останова.
Точки останова полезны, если вам известны строка или раздел кода, которые вы хотите подробно изучить. Дополнительные сведения о различных типах точек останова, которые можно задать, например об условных точках останова, см. в разделе Использование точек останова.
Переход по коду в отладчике с помощью пошаговых команд
Здесь мы используем в основном сочетания клавиш, так как они позволяют быстро выполнять приложение в отладчике (эквивалентные команды, например команды меню, отображаются в круглых скобках).
После двойного нажатия клавиши F11 вы должны находиться на следующей строке кода:
F11 — это команда Шаг с заходом, которая выполняет приложение с переходом к следующему оператору. Клавишу F11 удобно использовать для более детальной проверки потока выполнения. (Мы также покажем другие варианты более быстрого перемещения по коду.) По умолчанию отладчик пропускает непользовательский код (дополнительные сведения см. в статье об отладке в режиме «Только мой код»).
Предположим, что вы закончили изучать метод SendMessage и хотите выйти из него, но остаться в отладчике. Это можно сделать с помощью команды Шаг с выходом.
Нажмите сочетание клавиш SHIFT + F11 (или Отладка > Шаг с выходом).
Эта команда возобновляет выполнение приложения (и работу отладчика) до возврата данных текущим методом или текущей функции.
Во время приостановки на вызове метода один раз нажмите клавишу F10 (или выберите Отладка > Шаг с обходом).
В этой статье мы используем сочетания клавиш, так как они позволяют быстро выполнять приложение в отладчике (эквивалентные команды, например команды меню, отображаются в круглых скобках).
После двойного нажатия клавиши F11 вы должны находиться на следующей строке кода:
F11 — это команда Шаг с заходом, которая выполняет приложение с переходом к следующему оператору. Клавишу F11 удобно использовать для более детальной проверки потока выполнения. (Мы также покажем другие варианты более быстрого перемещения по коду.) По умолчанию отладчик пропускает непользовательский код (дополнительные сведения см. в статье об отладке в режиме «Только мой код»).
Предположим, что вы закончили изучать метод SendMessage и хотите выйти из него, но остаться в отладчике. Это можно сделать с помощью команды Шаг с выходом.
Нажмите сочетание клавиш SHIFT + F11 (или Отладка > Шаг с выходом).
Эта команда возобновляет выполнение приложения (и работу отладчика) до возврата данных текущим методом или текущей функции.
Во время приостановки на вызове метода один раз нажмите клавишу F10 (или выберите Отладка > Шаг с обходом).
Переход по коду с помощью команды «Выполнение до щелкнутого»
Нажмите клавишу F5, чтобы снова перейти к точке останова.
Кнопка Выполнение до щелкнутого впервые появилась в Visual Studio 2017. (Если кнопка с зеленой стрелкой отсутствует, воспользуйтесь клавишей F11, чтобы переместить отладчик в нужное место.)
Щелкните кнопку Выполнить до нажатия.
Использование этой кнопки аналогично установке временной точки останова. Функция Выполнение до щелкнутого удобна для быстрой работы в видимой области кода приложения (можно щелкнуть в любом открытом файле).
Нажмите клавишу F5, чтобы снова перейти к точке останова.
Щелкните кнопку Выполнить до нажатия.
Использование этой кнопки аналогично установке временной точки останова. Функция Выполнение до щелкнутого удобна для быстрой работы в видимой области кода приложения (можно щелкнуть в любом открытом файле).
Быстрый перезапуск приложения
Щелкните кнопку Перезапустить на панели инструментов отладки (CTRL + SHIFT + F5).
Кнопка Перезапустить позволяет сэкономить время, затрачиваемое на остановку приложения и перезапуск отладчика. Отладчик приостанавливается в первой точке останова, достигнутой при выполнении кода.
Чтобы перезапустить приложение, нажмите сочетание клавиш CTRL + SHIFT + F5. Такое действие гораздо быстрее, чем остановка приложения и перезапуск отладчика. Отладчик приостанавливается в первой точке останова, достигнутой при выполнении кода.
Проверка переменных с помощью подсказок по данным
Функции, позволяющие проверять переменные, являются самыми полезными возможностями отладчика. Реализовывать эту задачу можно разными способами. Часто при попытке выполнить отладку проблемы пользователь старается выяснить, хранятся ли в переменных значения, которые требуются ему в определенное время.
Часто при отладке требуется быстро проверить значения свойств в переменных, чтобы убедиться, что в них хранятся ожидаемые значения. Советы по данным — отличный способ это сделать.
Функции, позволяющие проверять переменные, являются самыми полезными возможностями отладчика. Реализовывать эту задачу можно разными способами. Часто при попытке выполнить отладку проблемы пользователь старается выяснить, хранятся ли в переменных значения, которые требуются ему в определенное время.
Часто при отладке требуется быстро проверить значения свойств в переменных, чтобы убедиться, что в них хранятся ожидаемые значения. Советы по данным — отличный способ это сделать.
Проверка переменных с помощью окон «Видимые» и «Локальные»
Взгляните на окно Видимые в нижней части редактора кода.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка>Окна>Видимые.
В окне Видимые отображаются переменные и их текущие значения. В окне Видимые отображаются все переменные, используемые в текущей или предыдущей строке (сведения о зависящем от языка поведении см. в соответствующей документации).
Затем посмотрите на окно Локальные на вкладке рядом с окном Видимые.
В окне Локальные показаны переменные, которые находятся в текущей области, то есть текущем контексте выполнения.
Взгляните на окно Видимые в нижней части редактора кода.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка>Окна>Видимые.
В окне Видимые отображаются переменные и их текущие значения. В окне Видимые отображаются все переменные, используемые в текущей или предыдущей строке (сведения о зависящем от языка поведении см. в соответствующей документации).
Затем посмотрите на окно Локальные на вкладке рядом с окном Видимые.
В окне Локальные показаны переменные, которые находятся в текущей области, то есть текущем контексте выполнения.
Установка контрольного значения
В основном окне редактора кода щелкните правой кнопкой мыши переменную name и выберите команду Добавить контрольное значение.
В нижней части редактора кода откроется окно Контрольное значение. В окне Контрольное значение можно указать переменную (или выражение), которую необходимо отслеживать.
Просмотр стека вызовов
Во время приостановки в цикле For щелкните окно Стек вызовов, которое по умолчанию открыто в нижней правой области.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка>Окна>Стек вызовов.
В окне Стек вызовов показан порядок вызова методов и функций. В верхней строке приведена текущая функция (в данном приложении метод SendMessage ). Во второй строке показано, что функция SendMessage была вызвана из метода Main и т. д.
Окно Стек вызовов аналогично перспективе «Отладка» в некоторых интегрированных средах разработки, например Eclipse.
Стек вызовов хорошо подходит для изучения и анализа потока выполнения приложения.
Дважды щелкните строку кода, чтобы просмотреть исходный код. При этом также изменится текущая область, проверяемая отладчиком. Это действие не перемещает отладчик.
Для выполнения других задач можно воспользоваться контекстными меню из окна Стек вызовов. Например, можно вставлять точки останова в указанные функции, перемещать отладчик с помощью функции Выполнение до текущей позиции и изучать исходный код. Дополнительные сведения см. в разделе Практическое руководство. просмотреть стек вызовов.
Во время приостановки в цикле For щелкните окно Стек вызовов, которое по умолчанию открыто в нижней правой области.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка>Окна>Стек вызовов.
В окне Стек вызовов показан порядок вызова методов и функций. В верхней строке приведена текущая функция (в данном приложении метод SendMessage ). Во второй строке показано, что функция SendMessage была вызвана из метода Main и т. д.
Окно Стек вызовов аналогично перспективе «Отладка» в некоторых интегрированных средах разработки, например Eclipse.
Стек вызовов хорошо подходит для изучения и анализа потока выполнения приложения.
Дважды щелкните строку кода, чтобы просмотреть исходный код. При этом также изменится текущая область, проверяемая отладчиком. Это действие не перемещает отладчик.
Для выполнения других задач можно воспользоваться контекстными меню из окна Стек вызовов. Например, можно вставлять точки останова в указанные функции, перемещать отладчик с помощью функции Выполнение до текущей позиции и изучать исходный код. Дополнительные сведения см. в разделе Практическое руководство. просмотреть стек вызовов.
Изменение потока выполнения
Нажмите клавишу F11.
Отладчик повторно выполнит метод Console.WriteLine (вы увидите это в выходных данных окна консоли).
Изменяя поток выполнения, можно решать множество задач, например тестировать различные пути выполнения кода или повторно выполнять код без перезапуска отладчика.
Как правило, при работе с этой функцией необходимо соблюдать осторожность — вы увидите соответствующее предупреждение во всплывающей подсказке. Могут отображаться и другие предупреждения. При перемещении указателя предыдущее состояние приложения не возвращается.
Чтобы продолжить выполнение приложения, нажмите клавишу F5.
Поздравляем с завершением этого учебника!
Следующие шаги
В этом руководстве вы узнали, как запускать отладчик, осуществлять пошаговое выполнение кода и проверять переменные. Возможно, вы захотите получить более полное представление о функциях отладчика, а также воспользоваться ссылками на дополнительные сведения.
Начало работы с F# в Visual Studio Code
Создание первого проекта с помощью Ionide
После завершения перейдите в каталог проекта и откройте Visual Studio Code:
После загрузки проекта в Visual Studio Code вы увидите панель Обозреватель решений F# в левой части окна. Это означает, что Ionide успешно загрузил только что созданный проект. Вы можете написать код в редакторе до этого момента времени, но как только это произойдет, все готово к загрузке.
Написание первого скрипта
Теперь добавьте в него следующий код:
Эта функция преобразует слово в форму Pig Latin. Следующим шагом является оценка с помощью F# Interactive (FSI).
Это делало три действия:
Так как отправленная функция была функцией, теперь эту функцию можно вызвать с помощью FSI! В интерактивном окне введите следующее:
Вы должны увидеть следующий результат:
Теперь давайте попробуем с гласной в качестве первой буквы. Заполните следующие поля:
Вы должны увидеть следующий результат:
Функция, как представляется, работает должным образом. Поздравляем, вы только что написали свою первую функцию F# в Visual Studio Code и оценили ее с помощью FSI!
Объяснение кода
Если вы не знаете, что делает код, выполните пошаговые инструкции.
Как видите, это функция, toPigLatin которая принимает слово в качестве входных данных и преобразует его в Pig-Latin представление этого слова. Ниже приведены правила для этого.
Если первый символ в слове начинается с гласной, добавьте «yay» в конец слова. Если он не начинается с гласной, переместите первый символ в конец слова и добавьте в него «ay».
Возможно, вы заметили следующее в FSI:
В теле функции вы заметите две отдельные части:
Таким образом, поток имеет следующий тип toPigLatin :
Проверьте, является ли первый символ входного слова гласным. Если это так, вложите «yay» в конец слова. В противном случае переместите первый символ в конец слова и добавьте в него «ay».
Преобразование консольного приложения в генератор Pig Latin
В предыдущих разделах этой статьи показан общий первый шаг в написании кода F#: написание начальной функции и его интерактивное выполнение с помощью FSI. Это называется разработкой на основе REPL, где REPL означает «Цикл read-Evaluate-Print». Это отличный способ поэкспериментировать с функциональностью, пока у вас есть что-то рабочее.
Следующим шагом разработки на основе REPL является перемещение рабочего кода в файл реализации F#. Затем его можно скомпилировать компилятором F# в сборку, которую можно выполнить.
Затем создайте новую module вызываемую PigLatin функцию и скопируйте toPigLatin в нее созданную ранее функцию следующим образом:
Этот модуль должен быть над main функцией и ниже open System объявления. Порядок объявлений имеет значение в F#, поэтому перед вызовом функции в файле необходимо определить ее.
Теперь в main функции вызовите функцию генератора Pig Latin для аргументов:
Теперь вы можете запустить консольное приложение из командной строки:
И вы увидите, что он выводит тот же результат, что и файл скрипта, но на этот раз как запущенная программа!
Устранение неполадок в Ionide
Ниже приведено несколько способов устранения определенных проблем, с которыми могут возникнуть проблемы.
Ionide — это проект с открытым исходным кодом, созданный и обслуживаемый членами сообщества F#. Сообщите о проблемах и вы можете вносить свой вклад в репозиторий GitHub ionide-vscode-fsharp.
Вы также можете обратиться за дополнительной помощью от разработчиков Ionide и сообщества F# в канале Ionide Gitter.
Дальнейшие действия
Дополнительные сведения о F# и функциях языка см. в обзоре F#.
Пошаговое руководство. Работа с проектами и решениями (C++)
В этой статье описано, как создать проект C++ в Visual Studio, добавить код, а затем выполнить сборку и запуск проекта. Проект в этом пошаговом руководстве представляет собой программу, которая отслеживает количество игроков в различных карточных играх.
В Visual Studio для организации работы служат проекты и решения. Решение может содержать несколько проектов, например библиотеку DLL и ссылающийся на нее исполняемый файл. Дополнительные сведения см. в статье Solutions and Projects (Решения и проекты).
Перед началом работы
Для выполнения данного пошагового руководства требуется Visual Studio 2017 или более поздней версии. Если вам нужна копия, вот краткое руководство: Установка поддержки С++ в Visual Studio. Если вы еще не сделали этого, выполните приведенные ниже шаги после установки в рамках руководства «Hello, World», чтобы убедиться в правильности установки и работы компонентов C++.
Полезно владеть основами языка C++ и понимать назначение компилятора, компоновщика и отладчика. В руководстве также предполагается, что вы знакомы с Windows и умеете использовать меню и диалоговые окна.
Создание проекта
Чтобы создать проект, сначала выберите шаблон типа проекта. Для каждого типа проекта среда Visual Studio задает параметры компилятора и — в зависимости от типа — создает начальный код, который позже можно изменить. Приведенные ниже инструкции немного отличаются в зависимости от используемой версии Visual Studio. Чтобы ознакомиться с документацией по предпочтительной версии Visual Studio, используйте селектор Версия. Он находится в верхней части оглавления на этой странице.
Создание проекта в Visual Studio
В главном меню выберите Файл >Создать >Проект, чтобы открыть диалоговое окно Создание проекта.
В верхней части диалогового окна задайте для параметра Язык значение C++, для параметра Платформа значение Windows, а для Типа проекта — Консоль.
В отфильтрованном списке типов проектов щелкните Консольное приложение, а затем нажмите кнопку Далее. На следующей странице введите имя проекта Игра.
Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект.
При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.
Нажмите кнопку Создать, чтобы создать проект.
Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.
Создание проекта в Visual Studio 2017
В строке меню выберите Файл>Создать>Проект.
В списке установленных шаблонов в центральной области выберите шаблон Консольное приложение Windows.
В поле Имя введите имя проекта. Для этого примера введите Game (Игра).
Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект.
При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.
Нажмите кнопку ОК, чтобы создать проект.
Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.
Создание проекта в Visual Studio 2015
В строке меню выберите Файл>Создать>Проект.
В списке установленных шаблонов в центральной области выберите шаблон Консольное приложение Win32.
В поле Имя введите имя проекта. Для этого примера введите Game (Игра).
Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект.
При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.
Нажмите кнопку ОК, чтобы создать проект.
Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.
Упорядочение файлов и проектов
Для организации проектов, файлов и других ресурсов в решении, а также для управления ими можно использовать обозреватель решений.
В этой части пошагового руководства описывается добавление класса в проект. При добавлении класса Visual Studio добавляет соответствующие H- и CPP-файлы. Результаты отображаются в обозревателе решений.
Добавление класса в проект
Если окно Обозреватель решений не отображается в Visual Studio, выберите в строке меню Вид>Обозреватель решений.
Выберите проект Game в обозревателе решений. В строке меню выберите Проект>Добавить класс.
Visual Studio создает файлы и добавляет их в проект. Вы можете просмотреть их в обозревателе решений. Файлы Cardgame.h и Cardgame.cpp открываются в редакторе.
Внесите в файл Cardgame.h следующие изменения.
После открывающей скобки определения класса добавьте два частных элемента данных.
Измените конструктор по умолчанию, созданный средой Visual Studio. После описателя доступа public: найдите строку, которая выглядит следующим образом:
Измените этот конструктор так, чтобы он принимал один параметр типа int с именем players.
static int GetParticipants()
После изменения файл Cardgame.h должен содержать примерно такой код:
Строка #pragma once указывает компилятору включить файл заголовка только один раз. Дополнительные сведения см. в разделе once. Сведения о других ключевых словах C++ в представленном выше файле заголовка см. в разделах class, int, static и public.
Перейдите на вкладку Cardgame.cpp в верхней части области редактирования, чтобы открыть этот файл для внесения изменений.
Удалите весь код в файле и замените его следующим кодом:
Добавление тестового кода в функцию main
Добавьте в приложение код, тестирующий новые функции.
Добавление тестового кода в проект
В окне редактора Game.cpp замените существующий код следующим:
Сборка и запуск проекта приложения
Затем выполните сборку проекта и запустите приложение.
Построение и запуск проекта
В строке меню последовательно выберите Сборка>Собрать решение.
Выходные данные сборки выводятся в окне Вывод. Если сборка пройдет успешно, выходные данные должны выглядеть следующим образом:
В окне Вывод в зависимости от конфигурации сборки могут отображаться различные шаги, но если сборка проекта завершается успешно, то последняя строка выходных данных должна выглядеть так, как показано выше.
Если сборка завершилась неудачей, сравните свой код с образцами в предыдущих действиях.
Чтобы запустить проект, в строке меню выберите Отладка>Запуск без отладки. Появится консольное окно, а результат выполнения должен выглядеть примерно следующим образом:
Для закрытия консольного окна нажмите любую клавишу.
Вы успешно выполнили сборку проекта приложения и решения. Продолжайте выполнять пошаговое руководство, чтобы получить дополнительные сведения о сборке проектов кода C++ в Visual Studio.
Пошаговое руководство. Работа с проектами и решениями (C++)
В этой статье описано, как создать проект C++ в Visual Studio, добавить код, а затем выполнить сборку и запуск проекта. Проект в этом пошаговом руководстве представляет собой программу, которая отслеживает количество игроков в различных карточных играх.
В Visual Studio для организации работы служат проекты и решения. Решение может содержать несколько проектов, например библиотеку DLL и ссылающийся на нее исполняемый файл. Дополнительные сведения см. в статье Solutions and Projects (Решения и проекты).
Перед началом работы
Для выполнения данного пошагового руководства требуется Visual Studio 2017 или более поздней версии. Если вам нужна копия, вот краткое руководство: Установка поддержки С++ в Visual Studio. Если вы еще не сделали этого, выполните приведенные ниже шаги после установки в рамках руководства «Hello, World», чтобы убедиться в правильности установки и работы компонентов C++.
Полезно владеть основами языка C++ и понимать назначение компилятора, компоновщика и отладчика. В руководстве также предполагается, что вы знакомы с Windows и умеете использовать меню и диалоговые окна.
Создание проекта
Чтобы создать проект, сначала выберите шаблон типа проекта. Для каждого типа проекта среда Visual Studio задает параметры компилятора и — в зависимости от типа — создает начальный код, который позже можно изменить. Приведенные ниже инструкции немного отличаются в зависимости от используемой версии Visual Studio. Чтобы ознакомиться с документацией по предпочтительной версии Visual Studio, используйте селектор Версия. Он находится в верхней части оглавления на этой странице.
Создание проекта в Visual Studio
В главном меню выберите Файл >Создать >Проект, чтобы открыть диалоговое окно Создание проекта.
В верхней части диалогового окна задайте для параметра Язык значение C++, для параметра Платформа значение Windows, а для Типа проекта — Консоль.
В отфильтрованном списке типов проектов щелкните Консольное приложение, а затем нажмите кнопку Далее. На следующей странице введите имя проекта Игра.
Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект.
При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.
Нажмите кнопку Создать, чтобы создать проект.
Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.
Создание проекта в Visual Studio 2017
В строке меню выберите Файл>Создать>Проект.
В списке установленных шаблонов в центральной области выберите шаблон Консольное приложение Windows.
В поле Имя введите имя проекта. Для этого примера введите Game (Игра).
Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект.
При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.
Нажмите кнопку ОК, чтобы создать проект.
Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.
Создание проекта в Visual Studio 2015
В строке меню выберите Файл>Создать>Проект.
В списке установленных шаблонов в центральной области выберите шаблон Консольное приложение Win32.
В поле Имя введите имя проекта. Для этого примера введите Game (Игра).
Вы можете принять расположение по умолчанию в раскрывающемся списке Расположение, ввести другое расположение или нажать кнопку Обзор, чтобы перейти к каталогу, в котором требуется сохранить проект.
При создании проекта среда Visual Studio помещает его в решение. По умолчанию имя решения совпадает с именем проекта. Можно изменить имя в поле Имя решения, но для этого примера оставьте имя по умолчанию.
Нажмите кнопку ОК, чтобы создать проект.
Visual Studio создает решение и файлы проекта и открывает редактор для созданного файла исходного кода Game.cpp.
Упорядочение файлов и проектов
Для организации проектов, файлов и других ресурсов в решении, а также для управления ими можно использовать обозреватель решений.
В этой части пошагового руководства описывается добавление класса в проект. При добавлении класса Visual Studio добавляет соответствующие H- и CPP-файлы. Результаты отображаются в обозревателе решений.
Добавление класса в проект
Если окно Обозреватель решений не отображается в Visual Studio, выберите в строке меню Вид>Обозреватель решений.
Выберите проект Game в обозревателе решений. В строке меню выберите Проект>Добавить класс.
Visual Studio создает файлы и добавляет их в проект. Вы можете просмотреть их в обозревателе решений. Файлы Cardgame.h и Cardgame.cpp открываются в редакторе.
Внесите в файл Cardgame.h следующие изменения.
После открывающей скобки определения класса добавьте два частных элемента данных.
Измените конструктор по умолчанию, созданный средой Visual Studio. После описателя доступа public: найдите строку, которая выглядит следующим образом:
Измените этот конструктор так, чтобы он принимал один параметр типа int с именем players.
static int GetParticipants()
После изменения файл Cardgame.h должен содержать примерно такой код:
Строка #pragma once указывает компилятору включить файл заголовка только один раз. Дополнительные сведения см. в разделе once. Сведения о других ключевых словах C++ в представленном выше файле заголовка см. в разделах class, int, static и public.
Перейдите на вкладку Cardgame.cpp в верхней части области редактирования, чтобы открыть этот файл для внесения изменений.
Удалите весь код в файле и замените его следующим кодом:
Добавление тестового кода в функцию main
Добавьте в приложение код, тестирующий новые функции.
Добавление тестового кода в проект
В окне редактора Game.cpp замените существующий код следующим:
Сборка и запуск проекта приложения
Затем выполните сборку проекта и запустите приложение.
Построение и запуск проекта
В строке меню последовательно выберите Сборка>Собрать решение.
Выходные данные сборки выводятся в окне Вывод. Если сборка пройдет успешно, выходные данные должны выглядеть следующим образом:
В окне Вывод в зависимости от конфигурации сборки могут отображаться различные шаги, но если сборка проекта завершается успешно, то последняя строка выходных данных должна выглядеть так, как показано выше.
Если сборка завершилась неудачей, сравните свой код с образцами в предыдущих действиях.
Чтобы запустить проект, в строке меню выберите Отладка>Запуск без отладки. Появится консольное окно, а результат выполнения должен выглядеть примерно следующим образом:
Для закрытия консольного окна нажмите любую клавишу.
Вы успешно выполнили сборку проекта приложения и решения. Продолжайте выполнять пошаговое руководство, чтобы получить дополнительные сведения о сборке проектов кода C++ в Visual Studio.
В этом руководстве показано, как опубликовать консольное приложение, чтобы его могли запускать другие пользователи. При публикации создается набор файлов, которые необходимы для запуска приложения. Чтобы развернуть файлы, скопируйте их на целевой компьютер.
Предварительные требования
Публикация приложения
Запустите Visual Studio Code.
В главном меню выберите Вид>Терминал.
Терминал откроется в папке HelloWorld.
Выполните следующую команду:
По умолчанию используется конфигурация сборки Отладка, поэтому эта команда задает конфигурацию сборки Выпуск. Выходные данные конфигурации сборки «Выпуск» содержат минимальную символическую отладочную информацию и полностью оптимизированы.
Результат команды должен быть примерно таким:
Проверка файлов
В следующих шагах будут рассмотрены файлы, созданные в процессе публикации.
Выберите Обозреватель на панели навигации слева.
Разверните узел bin/Release/net6.0/publish.
Как показано на рисунке, опубликованные выходные данные включают следующие файлы:
HelloWorld.exe (приложение HelloWorld в Linux, не созданное в macOS.)
Это версия исполняемого, зависящего от платформы файла приложения. Файл зависит от операционной системы.
HelloWorld.pdb (необязателен для развертывания)
Это файл отладочных символов. Этот файл не нужно распространять вместе с приложением, но желательно сохранить его на случай, если придется выполнять отладку опубликованной версии приложения.
Запуск опубликованного приложения
В обозревателе щелкните правой кнопкой мыши папку publish (в macOS нажмите CTRL +щелчок) и выберите Открыть в терминале.
В Windows или Linux запустите приложение с помощью исполняемого файла.
В ответ на запрос введите имя и нажмите любую клавишу, чтобы выйти.
На любой платформе запустите приложение с помощью dotnet команды:
В ответ на запрос введите имя и нажмите любую клавишу, чтобы выйти.
Дополнительные ресурсы
Следующие шаги
В этом руководстве вы опубликовали консольное приложение. Далее вы создадите библиотеку классов.
В этом руководстве показано, как опубликовать консольное приложение, чтобы его могли запускать другие пользователи. При публикации создается набор файлов, которые необходимы для запуска приложения. Чтобы развернуть файлы, скопируйте их на целевой компьютер.
Предварительные требования
Публикация приложения
Запустите Visual Studio Code.
В главном меню выберите Вид>Терминал.
Терминал откроется в папке HelloWorld.
Выполните следующую команду:
По умолчанию используется конфигурация сборки Отладка, поэтому эта команда задает конфигурацию сборки Выпуск. Выходные данные конфигурации сборки «Выпуск» содержат минимальную символическую отладочную информацию и полностью оптимизированы.
Результат команды должен быть примерно таким:
Проверка файлов
В следующих шагах будут рассмотрены файлы, созданные в процессе публикации.
Выберите Обозреватель на панели навигации слева.
Разверните узел bin/Release/net5.0/publish.
Как показано на рисунке, опубликованные выходные данные включают следующие файлы:
HelloWorld.exe (приложение HelloWorld в Linux, не созданное в macOS.)
Это версия исполняемого, зависящего от платформы файла приложения. Файл зависит от операционной системы.
HelloWorld.pdb (необязателен для развертывания)
Это файл отладочных символов. Этот файл не нужно распространять вместе с приложением, но желательно сохранить его на случай, если придется выполнять отладку опубликованной версии приложения.
Запуск опубликованного приложения
В обозревателе щелкните правой кнопкой мыши папку publish (в macOS щелкните с нажатой клавишей CTRL ) и выберите Открыть в интегрированном терминале.
В Windows или Linux запустите приложение с помощью исполняемого файла.
В ответ на запрос введите имя и нажмите любую клавишу, чтобы выйти.
На любой платформе запустите приложение с помощью dotnet команды:
В ответ на запрос введите имя и нажмите любую клавишу, чтобы выйти.
Дополнительные ресурсы
Следующие шаги
В этом руководстве вы опубликовали консольное приложение. Далее вы создадите библиотеку классов.
Учебник. Создание простого консольного приложения C# в Visual Studio (часть 1 из 2)
Изучая этот учебник, вы создадите и запустите консольное приложение C# с помощью Visual Studio, а также ознакомитесь с некоторыми возможностями интегрированной среды разработки (IDE) Visual Studio. Этот учебник представляет собой первую часть серии, состоящей из двух частей.
Изучив это руководство, вы:
В рамках части 2 вы расширите это приложение, добавив дополнительные проекты, изучите методы отладки и будете использовать сторонние пакеты.
Предварительные требования
Необходимо установить Visual Studio.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Создание проекта
Сначала создайте проект приложения C#. Для этого типа проекта уже имеются все нужные файлы шаблонов.
Откройте Visual Studio и в начальном окне выберите Создать проект.
В окне Создание проекта выберите C# в списке языков. Затем выберите Windows в списке платформ и Консоль в списке типов проектов.
Применив фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и щелкните Далее.
Если шаблон Консольное приложение не отображается, выберите Установка других средств и компонентов.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.
В поле Имя проекта окна Настроить новый проект введите Calculator. Затем щелкните Далее.
В окне Дополнительные сведения для целевой платформы должна быть указана версия .NET Core 3.1. Если это не так, выберите .NET Core 3.1. Затем нажмите Создать.
Visual Studio открывает новый проект, включающий код по умолчанию «Hello World». Чтобы просмотреть его в редакторе, выберите файл кода Program.cs в окне Обозревателя решений, которое обычно находится в правой части Visual Studio.
Код «Hello World» по умолчанию вызывает метод WriteLine для отображения литеральной строки «Hello, World!» в окне консоли. Если нажать клавишу F5, программа по умолчанию запустится в режиме отладки. После запуска приложения в отладчике окно консоли остается открытым. Для закрытия консольного окна нажмите любую клавишу.
Откройте Visual Studio и в начальном окне выберите Создать проект.
Применив фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и нажмите Далее.
Если шаблон Консольное приложение не отображается, щелкните Установка других средств и компонентов.
В окне Настроить новый проект введите Calculator в поле Имя проекта, а затем щелкните Далее.
В окне Дополнительные сведения для целевой платформы должна быть указана версия .NET 6.0. Нажмите кнопку создания.
Visual Studio открывает новый проект, включающий код по умолчанию «Hello World».
Чтобы просмотреть его в редакторе, выберите файл кода Program.cs в окне Обозревателя решений, которое обычно находится в правой части Visual Studio.
Один оператор кода вызывает метод WriteLine для отображения литеральной строки «Hello, World!» в окне консоли. Если нажать клавишу F5, программа по умолчанию запустится в режиме отладки. После запуска приложения в отладчике окно консоли остается открытым. Для закрытия консольного окна нажмите любую клавишу.
Создание приложения
В этом разделе выполняются следующие действия:
Вычисления с целыми числами
Давайте начнем с базовых расчетов для целых чисел в C#.
В редакторе кода удалите созданный по умолчанию код Hello, World!.
Вместо нее введите следующий код:
Обратите внимание на то, что при этом функция IntelliSense в Visual Studio предлагает возможность автовыполнения записи.
Нажмите зеленую кнопку Пуск или клавишу F5 рядом с калькулятором, чтобы создать и запустить программу.
Откроется окно консоли с суммой 42 + 119, которая равна 161.
Закройте окно консоли.
В разделе Обозреватель решений в области справа выберите Program.cs, чтобы отобразить файл в редакторе кода.
В редакторе кода замените код по умолчанию Hello World ( Console.WriteLine(«Hello World!»); ).
Замените строку следующим кодом:
Если вы вводите код, возможность Visual Studio IntelliSense предлагает выполнить автозавершение ввода.
Чтобы создать и запустить приложение, нажмите клавишу F5 или выберите зеленую стрелку рядом с элементом Calculator на верхней панели инструментов.
Откроется окно консоли с суммой 42 + 119, которая равна 161.
Закройте окно консоли.
Добавление кода для создания калькулятора
Давайте продолжим, добавив более сложный набор кода калькулятора в проект.
В редакторе кода замените весь код в program.cs на следующий новый код:
Нажмите кнопку Калькулятор или клавишу F5, чтобы запустить приложение.
Откроется окно консоли.
В окне консоли используйте подсказки, чтобы суммировать числа 42 и 119.
Теперь приложение должно выглядеть как на следующем снимке экрана:
В редакторе кода замените весь код в program.cs на следующий новый код:
Нажмите кнопку Калькулятор или клавишу F5, чтобы запустить приложение.
Откроется окно консоли.
В окне консоли используйте подсказки, чтобы суммировать числа 42 и 119.
Теперь приложение должно выглядеть как на следующем снимке экрана:
Добавление возможностей десятичного числа
Далее мы будем изменять этот код, добавляя функциональные возможности.
Пока наше приложение принимает и возвращает только целые числа. Например, при запуске программы и делении числа 42 на число 119 вы получите результат 0, что для нас недостаточно точно.
Чтобы исправить код для повышения точности при обработке десятичных чисел, выполните указанные ниже действия.
В разделе program.cs в редакторе Visual Studio нажмите сочетание клавиш CTRL+H, чтобы открыть элемент управления Найти и заменить.
Введите int в элементе управления, а затем введите float в поле Заменить.
Выберите значки Учитывать регистр и Слово целиком в элементе управления или нажмите сочетание клавиш ALT+C и ALT+W.
Щелкните значок Заменить все или нажмите сочетание клавиш ALT+A, чтобы выполнить поиск и замену.
Еще раз запустите приложение калькулятора и разделите число 42 на число 119.
Теперь приложение возвращает не просто ноль, а десятичное число.
Теперь приложение может возвращать результаты в виде десятичного числа. Давайте изменим код так, чтобы приложение могло выполнять операции над десятичными числами.
Запустите приложение калькулятора и разделите число 42,5 на число 119,75.
Теперь приложение принимает десятичные значения и возвращает более длинное десятичное число в качестве результата.
В разделе Revise the code (Пересмотр кода) можно уменьшить количество десятичных разрядов в результатах.
Отладка приложения
Вы улучшили базовое приложение калькулятора, но ваше приложение еще не обрабатывает исключения, например ошибки ввода данных пользователем. Например, если пользователи попытаются разделить на ноль или ввести несоответствующий символ, приложение может остановить работу, вернуть ошибку или неожиданный нечисловой результат.
Давайте рассмотрим несколько типичных ошибок во входных данных, найдем их с помощью отладчика, если они там есть, и исправим код, чтобы устранить их.
Дополнительные сведения об отладчике и принципах его работы см. на странице Знакомство с отладчиком Visual Studio.
Исправление ошибки деления на ноль
При попытке деления числа на ноль консольное приложение может перестать отвечать, а затем покажет ошибку в редакторе кода.
Иногда приложение не зависает, а отладчик не отображает ошибку деления на ноль. Вместо этого приложение может вернуть непредвиденный нечисловой результат, например символ бесконечности. Приведенное ниже исправление кода по-прежнему применимо.
Чтобы изменить код для обработки этой ошибки, выполните указанные ниже действия.
В разделе program.cs замените код между case «d»: и комментарием // Wait for the user to respond before closing на следующий код:
Когда вы добавите новый код, раздел с оператором switch будет выглядеть так, как показано на следующем снимке экрана:
Теперь, когда вы будете делить любое число на ноль, приложение запросит другое число и будет отображать запрос, пока вы не предоставите ненулевое значение.
Исправление ошибки формата
Если ввести буквенный символ, когда для приложения необходим цифровой символ, приложение остановит работу. Visual Studio отображает причину проблемы в редакторе кода.
Чтобы решить эту проблему, можно выполнить рефакторинг ранее введенного кода.
Пересмотр кода
Класс Calculator выполняет основную часть работы для вычислений, а класс Program отвечает за пользовательский интерфейс и обработку ошибок.
В разделе program.cs удалите все из пространства имен Calculator между открывающей и закрывающей фигурными скобками:
Добавьте в фигурные скобки следующий новый класс Calculator :
Кроме того, добавьте новый класс Program со следующим содержимым:
Нажмите кнопку Калькулятор или клавишу F5, чтобы запустить приложение.
Разделите число 42 на число 119, следуя подсказкам на экране. Результаты должны выглядеть так, как показано на снимке экрана ниже.
Теперь вы можете ввести дополнительные формулы, пока не закроете консольное приложение. Для результатов также можно настроить меньшее количество десятичных разрядов. Если ввести неправильный символ, вы получите соответствующий ответ об ошибке.
Закрытие приложения
Закройте приложение «Калькулятор», если оно еще открыто.
Закройте область вывода в Visual Studio.
В Visual Studio нажмите клавиши CTRL+S, чтобы сохранить приложение.
Добавление системы управления исходным кодом Git
Теперь, когда вы создали приложение, вы можете добавить его в репозиторий Git. Visual Studio упрощает этот процесс с помощью инструментов Git, которые вы можете использовать непосредственно из IDE.
Git — это наиболее широко используемая современная система контроля версий, поэтому, независимо от того, являетесь ли вы профессиональным разработчиком или учитесь программировать, Git может быть для вас весьма полезным. Если вы новичок в Git, вы можете начать с сайта https://git-scm.com/. Там вы найдете памятки, популярную электронную книгу и видеоматериалы по основам GIT.
Чтобы связать свой код с Git, начните с создания нового репозитория Git, в котором находится ваш код:
В строке состояния в правом нижнем углу Visual Studio нажмите Добавить в систему управления версиями и выберите Git.
В диалоговом окне Создать репозиторий Git войдите в GitHub.
Имя репозитория заполняется автоматически в зависимости от расположения вашей папки. Ваш новый репозиторий является частным по умолчанию. Это означает, что только вы можете получить к нему доступ.
Независимо от того, является ли ваш репозиторий общедоступным или частным, лучше всего иметь удаленную резервную копию кода, надежно хранящуюся на GitHub. Даже если вы не работаете с командой, удаленный репозиторий позволит получать доступ к коду с любого компьютера.
Щелкните Создать и отправить.
После того как вы создали свой репозиторий, вы увидите информацию о статусе в строке состояния.
Первый значок со стрелками показывает, сколько исходящих и входящих фиксаций в вашей текущей ветке. Вы можете использовать этот значок, чтобы получать любые входящие или исходящие фиксации. Вы также можете выбрать отображение этих фиксаций в первую очередь. Для этого щелкните значок и выберите Просмотреть исходящие/входящие.
Второй значок с карандашом показывает количество незафиксированных изменений в вашем коде. Щелкните этот значок, чтобы просмотреть эти изменения в окне Git Changes.
Чтобы узнать больше о том, как использовать Git с вашим приложением, см. документацию по управлению версиями Visual Studio.
Проверка: завершение кодирования
В рамках этого руководства вы внесли множество изменений в приложение калькулятора. Теперь оно более эффективно использует вычислительные ресурсы и обрабатывает большинство ошибок во входных данных.
Ниже мы собрали в один блок весь код:
Следующие шаги
Перейдите ко второй части этого руководства:
Prerequisites
Create the app
Start Visual Studio Code.
Select File > Open Folder (File > Open. on macOS) from the main menu.
In the Open Folder dialog, create a HelloWorld folder and select it. Then click Select Folder (Open on macOS).
In the Do you trust the authors of the files in this folder? dialog, select Yes, I trust the authors.
Open the Terminal in Visual Studio Code by selecting View > Terminal from the main menu.
The Terminal opens with the command prompt in the HelloWorld folder.
In the Terminal, enter the following command:
The project template creates a simple application that displays «Hello World» in the console window by calling the Console.WriteLine(String) method in Program.cs.
Replace the contents of Program.cs with the following code:
The first time you edit a .cs file, Visual Studio Code prompts you to add the missing assets to build and debug your app. Select Yes, and Visual Studio Code creates a .vscode folder with launch.json and tasks.json files.
If you don’t get the prompt, or if you accidentally dismiss it without selecting Yes, do the following steps to create launch.json and tasks.json:
In the latest version of C#, a new feature named top-level statements lets you omit the Program class and the Main method. Most existing C# programs don’t use top-level statements, so this tutorial doesn’t use this new feature. But it’s available in C# 10, and whether you use it in your programs is a matter of style preference.
Run the app
Run the following command in the Terminal:
The program displays «Hello World!» and ends.
Enhance the app
Enhance the application to prompt the user for their name and display it along with the date and time.
NewLine is a platform-independent and language-independent way to represent a line break. Alternatives are \n in C# and vbCrLf in Visual Basic.
Save your changes.
In Visual Studio Code, you have to explicitly save changes. Unlike Visual Studio, file changes are not automatically saved when you build and run an app.
Run the program again:
Respond to the prompt by entering a name and pressing the Enter key.
Press any key to exit the program.
Additional resources
Next steps
Prerequisites
Create the app
Start Visual Studio Code.
Select File > Open Folder (File > Open. on macOS) from the main menu.
In the Open Folder dialog, create a HelloWorld folder and click Select Folder (Open on macOS).
Open the Terminal in Visual Studio Code by selecting View > Terminal from the main menu.
The Terminal opens with the command prompt in the HelloWorld folder.
In the Terminal, enter the following command:
The template creates a simple «Hello World» application. It calls the Console.WriteLine(String) method to display » Hello World! » in the console window.
Main is the application entry point, the method that’s called automatically by the runtime when it launches the application. Any command-line arguments supplied when the application is launched are available in the args array.
Run the app
Run the following command in the Terminal:
The program displays «Hello World!» and ends.
Enhance the app
Enhance the application to prompt the user for their name and display it along with the date and time.
Open Program.cs by clicking on it.
The first time you open a C# file in Visual Studio Code, OmniSharp loads in the editor.
Select Yes when Visual Studio Code prompts you to add the missing assets to build and debug your app.
NewLine is a platform-independent and language-independent way to represent a line break. Alternatives are \n in C# and vbCrLf in Visual Basic.
Save your changes.
In Visual Studio Code, you have to explicitly save changes. Unlike Visual Studio, file changes are not automatically saved when you build and run an app.
Run the program again:
Respond to the prompt by entering a name and pressing the Enter key.
Press any key to exit the program.
Additional resources
Next steps
В этом руководстве показано, как автоматизировать модульное тестирование путем добавления тестового проекта в решение.
Предварительные требования
Создание проекта модульного теста
Модульные тесты обеспечивают автоматическое тестирование программного обеспечения во время разработки и публикации. В этом руководстве используется платформа тестирования MSTest. MSTest — это одна из трех доступных для выбора платформ тестирования. Другими являются xUnit и nUnit.
Запустите Visual Studio Code.
Создайте проект модульного теста с именем StringLibraryTest.
Шаблон проекта создает файл UnitTest1.cs со следующим кодом:
Исходный код, созданный шаблоном модульного теста, выполняет следующие действия.
При вызове модульного теста автоматически выполняются все методы теста, помеченные атрибутом [TestMethod], в тестовом классе, помеченном атрибутом [TestClass].
Добавьте тестовый проект в решение.
Добавление ссылки на проект
Выполните следующую команду:
Добавление и выполнение методов модульного теста
когда Visual Studio вызывает модульный тест, он запускает каждый метод, помеченный TestMethodAttribute атрибутом в классе, помеченном TestClassAttribute атрибутом. Метод теста завершается, когда происходит первый сбой или когда все тесты, содержащиеся в методе, будут успешно выполнены.
В самых распространенных тестах вызываются члены класса Assert. Многие методы утверждения (Assert) принимают по крайней мере два параметра, из которых один представляет ожидаемый результат теста, а второй — фактический результат теста. Наиболее популярные из этих методов класса Assert перечислены в следующей таблице:
Вы можете также использовать метод Assert.ThrowsException в методе теста, чтобы указать тип исключения, которое он должен создавать. Такой тест считается не выполненным, если заявленное исключение не было создано.
Вы определите три метода, каждый из которых вызывает метод Assert для каждого элемента в массиве строк. Вы вызовете перегруженную версию метода, которая позволяет указать сообщение об ошибке, отображаемое в случае сбоя теста. В этом сообщении определяется строка, вызвавшая сбой.
Создание методов теста:
Откройте файл StringLibraryTest/UnitTest1.cs и замените все его содержимое следующим кодом:
Тест на символы верхнего регистра в методе TestStartsWithUpper включает заглавную греческую букву «альфа» (U+0391) и заглавную кириллическую букву «М» (U+041C). Тест на символы нижнего регистра в методе TestDoesNotStartWithUpper включает строчную греческую букву «альфа» (U+03B1) и строчную кириллическую букву «г» (U+0433).
В выходных данных терминала показано, что все тесты пройдены.
Обработка сбоев теста
Выполняя разработку на основе тестирования (TDD), вы сначала пишете тесты, и они завершаются сбоем при первом запуске. Затем вы добавляете код в приложение, и тест успешно выполняется. В рамках этого учебника вы создали тест после написания кода приложения для его проверки, поэтому тест был пройден. Чтобы проверить, завершается ли тест ошибкой, как и ожидается, добавьте недопустимое значение во входные данные теста.
В выходных данных терминала показано, что один тест завершается ошибкой, и выдается сообщение об ошибке для непройденного теста. «Assert.IsFalse failed. Expected for ‘Error’: false; actual: True». Из-за этого сбоя строки в массиве, расположенные после слова «Error», не проверялись.
Удалите строку «Error», которую вы добавили на шаге 1. Еще раз запустите тест. Теперь тесты будут пройдены.
Тестирование версии выпуска для библиотеки
Теперь, когда все тесты пройдены при выполнении сборки в режиме отладки, следует запустить все тесты еще раз, теперь уже для сборки библиотеки в режиме выпуска. Некоторые факторы, например оптимизации компилятора, иногда могут вызывать разное поведение сборки в режимах отладки и выпуска.
Запустите тесты с конфигурацией сборки «Выпуск».
Все тесты будут пройдены.
Отладка тестов
Visual Studio Code запускает тестовый проект с присоединенным отладчиком. Выполнение будет прервано в любой точке останова, добавленной в тестовый проект или базовый код библиотеки.
Дополнительные ресурсы
Следующие шаги
В этом руководстве вы выполнили модульное тестирование библиотеки классов. Чтобы сделать библиотеку доступной другим пользователям, опубликуйте ее в NuGet в качестве пакета. Чтобы узнать, как это делать, следуйте указаниям в руководстве по NuGet:
Если библиотека опубликована как пакет NuGet, ее могут устанавливать и использовать другие пользователи. Чтобы узнать, как это делать, следуйте указаниям в руководстве по NuGet:
Библиотеку не нужно распространять как пакет. Ее можно объединить с консольным приложением, где она используется. Чтобы узнать, как опубликовать консольное приложение, ознакомьтесь с предыдущим руководством в этой серии:
В этом руководстве показано, как автоматизировать модульное тестирование путем добавления тестового проекта в решение.
Предварительные требования
Создание проекта модульного теста
Модульные тесты обеспечивают автоматическое тестирование программного обеспечения во время разработки и публикации. В этом руководстве используется платформа тестирования MSTest. MSTest — это одна из трех доступных для выбора платформ тестирования. Другими являются xUnit и nUnit.
Запустите Visual Studio Code.
Создайте проект модульного теста с именем StringLibraryTest.
Шаблон проекта создает файл UnitTest1.cs со следующим кодом:
Исходный код, созданный шаблоном модульного теста, выполняет следующие действия.
При запуске модульного теста автоматически выполняются все методы теста, помеченные атрибутом [TestMethod], в тестовом классе, помеченном атрибутом [TestClass].
Добавьте тестовый проект в решение.
Добавление ссылки на проект
Выполните следующую команду:
Добавление и выполнение методов модульного теста
когда Visual Studio выполняет модульный тест, он выполняет каждый метод, помеченный TestMethodAttribute атрибутом в классе, помеченном TestClassAttribute атрибутом. Метод теста завершается, когда происходит первый сбой или когда все тесты, содержащиеся в методе, будут успешно выполнены.
В самых распространенных тестах вызываются члены класса Assert. Многие методы утверждения (Assert) принимают по крайней мере два параметра, из которых один представляет ожидаемый результат теста, а второй — фактический результат теста. Наиболее популярные из этих методов класса Assert перечислены в следующей таблице:
Вы можете также использовать метод Assert.ThrowsException в методе теста, чтобы указать тип исключения, которое он должен создавать. Такой тест считается не выполненным, если заявленное исключение не было создано.
Вы определите три метода, каждый из которых вызывает метод Assert для каждого элемента в массиве строк. Вы вызовете перегруженную версию метода, которая позволяет указать сообщение об ошибке, отображаемое в случае сбоя теста. В этом сообщении определяется строка, вызвавшая сбой.
Создание методов теста:
Откройте файл StringLibraryTest/UnitTest1.cs и замените все его содержимое следующим кодом:
Тест на символы верхнего регистра в методе TestStartsWithUpper включает заглавную греческую букву «альфа» (U+0391) и заглавную кириллическую букву «М» (U+041C). Тест на символы нижнего регистра в методе TestDoesNotStartWithUpper включает строчную греческую букву «альфа» (U+03B1) и строчную кириллическую букву «г» (U+0433).
В выходных данных терминала показано, что все тесты пройдены.
Обработка сбоев теста
Выполняя разработку на основе тестирования (TDD), вы сначала пишете тесты, и они завершаются сбоем при первом запуске. Затем вы добавляете код в приложение, и тест успешно выполняется. В рамках этого учебника вы создали тест после написания кода приложения для его проверки, поэтому тест был пройден. Чтобы проверить, завершается ли тест ошибкой, как и ожидается, добавьте недопустимое значение во входные данные теста.
В выходных данных терминала показано, что один тест завершается ошибкой, и выдается сообщение об ошибке для непройденного теста. «Assert.IsFalse failed. Expected for ‘Error’: false; actual: True». Из-за этого сбоя строки в массиве, расположенные после слова «Error», не проверялись.
Удалите строку «Error», которую вы добавили на шаге 1. Еще раз запустите тест. Теперь тесты будут пройдены.
Тестирование версии выпуска для библиотеки
Теперь, когда все тесты пройдены при выполнении сборки в режиме отладки, следует запустить все тесты еще раз, теперь уже для сборки библиотеки в режиме выпуска. Некоторые факторы, например оптимизации компилятора, иногда могут вызывать разное поведение сборки в режимах отладки и выпуска.
Запустите тесты с конфигурацией сборки «Выпуск».
Все тесты будут пройдены.
Отладка тестов
Visual Studio Code запускает тестовый проект с присоединенным отладчиком. Выполнение будет прервано в любой точке останова, добавленной в тестовый проект или базовый код библиотеки.
Дополнительные ресурсы
Следующие шаги
В этом руководстве вы выполнили модульное тестирование библиотеки классов. Чтобы сделать библиотеку доступной другим пользователям, опубликуйте ее в NuGet в качестве пакета. Чтобы узнать, как это делать, следуйте указаниям в руководстве по NuGet:
Если библиотека опубликована как пакет NuGet, ее могут устанавливать и использовать другие пользователи. Чтобы узнать, как это делать, следуйте указаниям в руководстве по NuGet:
Библиотеку не нужно распространять как пакет. Ее можно объединить с консольным приложением, где она используется. Чтобы узнать, как опубликовать консольное приложение, ознакомьтесь с предыдущим руководством в этой серии:
Источники:
- http://all-python.ru/sreda-razrabotki/vscode.html
- http://docs.microsoft.com/ru-ru/visualstudio/get-started/csharp/run-program?view=vs-2019
- http://docs.microsoft.com/ru-ru/visualstudio/debugger/getting-started-with-the-debugger-cpp?view=vs-2019
- http://docs.microsoft.com/ru-ru/visualstudio/debugger/debugger-feature-tour?view=vs-2019
- http://docs.microsoft.com/ru-ru/visualstudio/debugger/debugging-absolute-beginners?view=vs-2017&tabs=csharp
- http://docs.microsoft.com/ru-ru/visualstudio/debugger/quickstart-debug-with-managed?view=vs-2022
- http://docs.microsoft.com/ru-ru/cpp/build/vscpp-step-2-build?view=msvc-140
- http://docs.microsoft.com/ru-ru/visualstudio/debugger/quickstart-debug-with-cplusplus?view=vs-2022
- http://docs.microsoft.com/ru-ru/dotnet/core/tutorials/with-visual-studio-code?cid=kerryherger
- http://russianblogs.com/article/17331050336/
- http://docs.microsoft.com/ru-ru/visualstudio/debugger/quickstart-debug-with-cplusplus?view=vs-2019
- http://docs.microsoft.com/ru-ru/visualstudio/debugger/quickstart-debug-with-managed?view=vs-2019
- http://docs.microsoft.com/ru-ru/visualstudio/get-started/visual-basic/tutorial-debugger?view=vs-2022
- http://docs.microsoft.com/ru-ru/visualstudio/get-started/visual-basic/tutorial-console?view=vs-2019
- http://docs.microsoft.com/ru-ru/azure/machine-learning/how-to-debug-visual-studio-code
- http://docs.microsoft.com/ru-Ru/visualstudio/get-started/csharp/tutorial-console?view=vs-2022
- http://docs.microsoft.com/en-us/dotnet/core/tutorials/debugging-with-visual-studio-code
- http://docs.microsoft.com/ru-ru/visualstudio/get-started/csharp/tutorial-console?cid=kerryherger&view=vs-2022
- http://docs.microsoft.com/ru-ru/visualstudio/get-started/visual-basic/tutorial-debugger?toc=/visualstudio/debugger/toc.json&view=vs-2019
- http://docs.microsoft.com/ru-ru/dotnet/fsharp/get-started/get-started-vscode
- http://docs.microsoft.com/ru-ru/cpp/ide/walkthrough-working-with-projects-and-solutions-cpp?view=msvc-160
- http://docs.microsoft.com/ru-ru/cpp/ide/walkthrough-working-with-projects-and-solutions-cpp?view=msvc-170
- http://docs.microsoft.com/ru-ru/dotnet/core/tutorials/publishing-with-visual-studio-code
- http://docs.microsoft.com/ru-ru/visualstudio/get-started/csharp/tutorial-console?view=vs-2022&viewFallbackFrom=vs-2017
- http://docs.microsoft.com/bg-bg/dotnet/core/tutorials/with-visual-studio-code
- http://docs.microsoft.com/ru-ru/dotnet/core/tutorials/testing-library-with-visual-studio-code