Поделиться через


Руководство. Отладка консольного приложения .NET с помощью Visual Studio Code

В этом учебнике представлены средства отладки, доступные в Visual Studio Code для работы с приложениями .NET.

Необходимые компоненты

Использование конфигурации отладочной сборки

В .NET используются две встроенные конфигурации сборки — Отладка и Выпуск. Вы воспользуетесь отладочной конфигурацией сборки для отладки и конфигурацией для выпуска для окончательного выпуска программы.

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

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

  1. Запустите Visual Studio Code.

  2. Откройте папку проекта, созданную по инструкциям из статьи Создание консольного приложения .NET в Visual Studio Code.

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

Точка останова приостанавливает выполнение приложения на инструкции, предшествующей той строке, в которой установлена точка останова.

  1. Откройте файл Program.cs.

  2. Установите точку останова в строке, где отображается имя, дата и время, щелкнув в левом поле окна кода. Левое поле находится слева от номеров строк. Или нажмите клавишу F9 либо выберите в меню пункт Запуск>Перейти к следующей точке останова при выбранной строке кода.

    Красная точка в левом поле обозначает строку с точкой останова Visual Studio Code.

    Breakpoint set

Настройка входных данных терминала

Точка останова находится после вызова метода Console.ReadLine. Консоль отладки не принимает входные данные терминала для выполняющейся программы. Чтобы использовать выходные данные терминала во время отладки, можно использовать встроенный терминал (одно из окон Visual Studio Code) или внешний терминал. В этом учебнике используется встроенный терминал.

  1. Папка проекта содержит папку VSCODE . Откройте файл launch.json, который находится в папке VSCODE.

  2. В файле launch.json измените console параметр с internalConsole integratedTerminal:

    "console": "integratedTerminal",
    
  3. Сохранение изменений.

Запуск отладки

  1. Откройте окно отладки, щелкнув значок "Отладка" в меню слева.

    Open the Debug tab in Visual Studio Code

  2. Щелкните зеленую стрелку в верхней части панели рядом с элементом .NET Core Launch (console) (Запуск .NET Core (консоль)). Еще один способ запуска программы в режиме отладки — нажать клавишу F5 или выбрать в меню пункт Запуск>Начать отладку.

    Start debugging

  3. Перейдите на вкладку "Терминал ", чтобы просмотреть запрос "Что такое ваше имя?", который отображается в программе перед ожиданием ответа.

    Select the Terminal tab

  4. Введите строку в окне Терминал в ответ на запрос имени, а затем нажмите клавишу ВВОД.

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

    Breakpoint hit, showing Locals

Использование консоли отладки

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

  1. Выберите вкладку Консоль отладки.

  2. Введите name = "Gracie" в запросе в нижней части окна Консоль отладки и нажмите клавишу ВВОД.

    Change variable values

  3. Введите currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() в нижней части окна Консоль отладки и нажмите клавишу ВВОД.

    В окне Переменные отображаются новые значения переменных name и currentDate.

  4. Продолжите выполнение программы, нажав кнопку Продолжить на панели инструментов. Еще один способ продолжить — нажать клавишу F5.

    Continue debugging

  5. Снова выберите вкладку Терминал.

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

    Terminal showing the entered values

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

Установка условной точки останова

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

  1. Щелкните правой кнопкой мыши красную точку, обозначающую точку останова (или щелкните ее, удерживая нажатой клавишу CTRL в macOS). В контекстном меню выберите Изменить точку останова, чтобы открыть диалоговое окно, в котором можно ввести условное выражение.

    Breakpoint context menu

  2. Выберите Expression в раскрывающемся списке, введите следующее условное выражение и нажмите клавишу ВВОД.

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    При каждом достижении точки останова отладчик вызывает метод String.IsNullOrEmpty(name) и останавливается на этой строке только в том случае, если вызов метода возвращает true.

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

  3. Запустите отладку программы, нажав клавишу F5.

  4. Когда на вкладке Терминал появится предложение ввести имя, нажмите клавишу ВВОД.

    Так как указанное вами условие соблюдается (name имеет значение null или String.Empty), выполнение программы будет остановлено при достижении точки останова, то есть перед выполнением метода Console.WriteLine.

    В окне Переменные указывается, что значение переменной name ""или String.Empty.

  5. Убедитесь в том, что переменная содержит пустую строку, введя следующий оператор в окне Консоль отладки и нажав клавишу ВВОД. Результат true.

    name == String.Empty
    
  6. Нажмите кнопку Продолжить на панели инструментов, чтобы возобновить выполнение программы.

  7. Перейдите на вкладку Терминалов и нажмите любую клавишу, чтобы выйти из программы и прекратить отладку.

  8. Очистите точку останова. Для этого щелкните красную точку в левом поле окна с кодом. Другие способы очистки точки останова— это нажатие клавиши F9 или > выбор точки останова запуска в меню во время выбора строки кода.

  9. При появлении предупреждения о том, что условие точки останова будет потеряно, выберите Удалить точку останова.

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

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

  1. Установите точку останова на открывающей фигурной скобке метода Main.

  2. Нажмите клавишу F5, чтобы запустить отладку.

    Visual Studio Code выделит строку точки останова.

    На этом этапе в окне Переменные показано, что массив args пуст, а name и currentDate имеют значения по умолчанию.

  3. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Step-Into button

    Будет выделена следующая строка.

  4. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio Code выполняет Console.WriteLine для запроса имени и выделяет следующую строку выполнения. Следующая строка — это Console.ReadLine для name. Окно "Переменные " не изменяется, а вкладка "Терминал " отображает запрос "Что такое ваше имя?".

  5. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio выделит назначение переменной name. В окне Переменные видно, что name по-прежнему null.

  6. Ответьте на этот запрос, введя строку на вкладке "Терминал" и нажав клавишу ВВОД.

    На вкладке Терминал может не отображаться введенная строка, однако метод Console.ReadLine будет записывать входные данные.

  7. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio Code выделит назначение переменной currentDate. В окне Переменные отображается значение, полученное в результате вызова метода Console.ReadLine. На вкладке Терминал также отображается строка, указанная в командной строке.

  8. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    В окне Переменные отображается значение переменной currentDate, которому было присвоено свойство DateTime.Now.

  9. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio Code вызывает метод Console.WriteLine(String, Object, Object). В окне консоли отображается форматированная строка.

  10. Выберите Запуск>Шаг с выходом или нажмите клавиши SHIFT+F11.

    Step-Out button

  11. Выберите вкладку Терминал.

    В окне терминала отобразится сообщение "Нажмите любую клавишу, чтобы выйти..."

  12. Нажмите любую клавишу для выхода из программы.

Использование конфигурации сборки для выпуска

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

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

dotnet run --configuration Release

Дополнительные ресурсы

Следующие шаги

В этом учебнике вы использовали средства отладки Visual Studio Code. В следующем руководстве вы опубликуете развертываемую версию приложения.

В этом учебнике представлены средства отладки, доступные в Visual Studio Code для работы с приложениями .NET.

Необходимые компоненты

Использование конфигурации отладочной сборки

В .NET используются две встроенные конфигурации сборки — Отладка и Выпуск. Вы воспользуетесь отладочной конфигурацией сборки для отладки и конфигурацией для выпуска для окончательного выпуска программы.

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

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

  1. Запустите Visual Studio Code.

  2. Откройте папку проекта, созданную по инструкциям из статьи Создание консольного приложения .NET в Visual Studio Code.

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

Точка останова приостанавливает выполнение приложения на инструкции, предшествующей той строке, в которой установлена точка останова.

  1. Откройте файл Program.cs.

  2. Установите точку останова в строке, где отображается имя, дата и время, щелкнув в левом поле окна кода. Левое поле находится слева от номеров строк. Или нажмите клавишу F9 либо выберите в меню пункт Запуск>Перейти к следующей точке останова при выбранной строке кода.

    Красная точка в левом поле обозначает строку с точкой останова Visual Studio Code.

    Breakpoint set

Настройка входных данных терминала

Точка останова находится после вызова метода Console.ReadLine. Консоль отладки не принимает входные данные терминала для выполняющейся программы. Чтобы использовать выходные данные терминала во время отладки, можно использовать встроенный терминал (одно из окон Visual Studio Code) или внешний терминал. В этом учебнике используется встроенный терминал.

  1. Папка проекта содержит папку VSCODE . Откройте файл launch.json, который находится в папке VSCODE.

  2. В файле launch.json измените console параметр с internalConsole integratedTerminal:

    "console": "integratedTerminal",
    
  3. Сохранение изменений.

Запуск отладки

  1. Откройте окно отладки, щелкнув значок "Отладка" в меню слева.

    Open the Debug tab in Visual Studio Code

  2. Щелкните зеленую стрелку в верхней части панели рядом с элементом .NET Core Launch (console) (Запуск .NET Core (консоль)). Еще один способ запуска программы в режиме отладки — нажать клавишу F5 или выбрать в меню пункт Запуск>Начать отладку.

    Start debugging

  3. Перейдите на вкладку "Терминал ", чтобы просмотреть запрос "Что такое ваше имя?", который отображается в программе перед ожиданием ответа.

    Select the Terminal tab

  4. Введите строку в окне Терминал в ответ на запрос имени, а затем нажмите клавишу ВВОД.

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

    Breakpoint hit, showing Locals

Использование консоли отладки

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

  1. Выберите вкладку Консоль отладки.

  2. Введите name = "Gracie" в запросе в нижней части окна Консоль отладки и нажмите клавишу ВВОД.

    Change variable values

  3. Введите currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() в нижней части окна Консоль отладки и нажмите клавишу ВВОД.

    В окне Переменные отображаются новые значения переменных name и currentDate.

  4. Продолжите выполнение программы, нажав кнопку Продолжить на панели инструментов. Еще один способ продолжить — нажать клавишу F5.

    Continue debugging

  5. Снова выберите вкладку Терминал.

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

    Terminal showing the entered values

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

Установка условной точки останова

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

  1. Щелкните правой кнопкой мыши красную точку, обозначающую точку останова (или щелкните ее, удерживая нажатой клавишу CTRL в macOS). В контекстном меню выберите Изменить точку останова, чтобы открыть диалоговое окно, в котором можно ввести условное выражение.

    Breakpoint context menu

  2. Выберите Expression в раскрывающемся списке, введите следующее условное выражение и нажмите клавишу ВВОД.

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    При каждом достижении точки останова отладчик вызывает метод String.IsNullOrEmpty(name) и останавливается на этой строке только в том случае, если вызов метода возвращает true.

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

  3. Запустите отладку программы, нажав клавишу F5.

  4. Когда на вкладке Терминал появится предложение ввести имя, нажмите клавишу ВВОД.

    Так как указанное вами условие соблюдается (name имеет значение null или String.Empty), выполнение программы будет остановлено при достижении точки останова, то есть перед выполнением метода Console.WriteLine.

    В окне Переменные указывается, что значение переменной name ""или String.Empty.

  5. Убедитесь в том, что переменная содержит пустую строку, введя следующий оператор в окне Консоль отладки и нажав клавишу ВВОД. Результат true.

    name == String.Empty
    
  6. Нажмите кнопку Продолжить на панели инструментов, чтобы возобновить выполнение программы.

  7. Перейдите на вкладку Терминалов и нажмите любую клавишу, чтобы выйти из программы и прекратить отладку.

  8. Очистите точку останова. Для этого щелкните красную точку в левом поле окна с кодом. Другие способы очистки точки останова— это нажатие клавиши F9 или > выбор точки останова запуска в меню во время выбора строки кода.

  9. При появлении предупреждения о том, что условие точки останова будет потеряно, выберите Удалить точку останова.

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

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

  1. Установите точку останова на открывающей фигурной скобке метода Main.

  2. Нажмите клавишу F5, чтобы запустить отладку.

    Visual Studio Code выделит строку точки останова.

    На этом этапе в окне Переменные показано, что массив args пуст, а name и currentDate имеют значения по умолчанию.

  3. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Step-Into button

    Будет выделена следующая строка.

  4. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio Code выполняет Console.WriteLine для запроса имени и выделяет следующую строку выполнения. Следующая строка — это Console.ReadLine для name. Окно "Переменные " не изменяется, а вкладка "Терминал " отображает запрос "Что такое ваше имя?".

  5. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio выделит назначение переменной name. В окне Переменные видно, что name по-прежнему null.

  6. Ответьте на этот запрос, введя строку на вкладке "Терминал" и нажав клавишу ВВОД.

    На вкладке Терминал может не отображаться введенная строка, однако метод Console.ReadLine будет записывать входные данные.

  7. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio Code выделит назначение переменной currentDate. В окне Переменные отображается значение, полученное в результате вызова метода Console.ReadLine. На вкладке Терминал также отображается строка, указанная в командной строке.

  8. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    В окне Переменные отображается значение переменной currentDate, которому было присвоено свойство DateTime.Now.

  9. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio Code вызывает метод Console.WriteLine(String, Object, Object). В окне консоли отображается форматированная строка.

  10. Выберите Запуск>Шаг с выходом или нажмите клавиши SHIFT+F11.

    Step-Out button

  11. Выберите вкладку Терминал.

    В окне терминала отобразится сообщение "Нажмите любую клавишу, чтобы выйти..."

  12. Нажмите любую клавишу для выхода из программы.

Использование конфигурации сборки для выпуска

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

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

dotnet run --configuration Release

Дополнительные ресурсы

Следующие шаги

В этом учебнике вы использовали средства отладки Visual Studio Code. В следующем руководстве вы опубликуете развертываемую версию приложения.

В этом учебнике представлены средства отладки, доступные в Visual Studio Code для работы с приложениями .NET.

Необходимые компоненты

Использование конфигурации отладочной сборки

В .NET используются две встроенные конфигурации сборки — Отладка и Выпуск. Вы воспользуетесь отладочной конфигурацией сборки для отладки и конфигурацией для выпуска для окончательного выпуска программы.

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

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

  1. Запустите Visual Studio Code.

  2. Откройте папку проекта, созданную по инструкциям из статьи Создание консольного приложения .NET в Visual Studio Code.

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

Точка останова приостанавливает выполнение приложения на инструкции, предшествующей той строке, в которой установлена точка останова.

  1. Откройте файл Program.cs.

  2. Установите точку останова в строке, где отображается имя, дата и время, щелкнув в левом поле окна кода. Левое поле находится слева от номеров строк. Или нажмите клавишу F9 либо выберите в меню пункт Запуск>Перейти к следующей точке останова при выбранной строке кода.

    Красная точка в левом поле обозначает строку с точкой останова Visual Studio Code.

    Breakpoint set

Настройка входных данных терминала

Точка останова находится после вызова метода Console.ReadLine. Консоль отладки не принимает входные данные терминала для выполняющейся программы. Чтобы использовать выходные данные терминала во время отладки, можно использовать встроенный терминал (одно из окон Visual Studio Code) или внешний терминал. В этом учебнике используется встроенный терминал.

  1. Откройте файл .vscode/launch.json.

  2. Измените значение параметра console с internalConsole на integratedTerminal.

    "console": "integratedTerminal",
    
  3. Сохранение изменений.

Запуск отладки

  1. Откройте окно отладки, щелкнув значок "Отладка" в меню слева.

    Open the Debug tab in Visual Studio Code

  2. Щелкните зеленую стрелку в верхней части панели рядом с элементом .NET Core Launch (console) (Запуск .NET Core (консоль)). Еще один способ запуска программы в режиме отладки — нажать клавишу F5 или выбрать в меню пункт Запуск>Начать отладку.

    Start debugging

  3. Перейдите на вкладку "Терминал ", чтобы просмотреть запрос "Что такое ваше имя?", который отображается в программе перед ожиданием ответа.

    Select the Terminal tab

  4. Введите строку в окне Терминал в ответ на запрос имени, а затем нажмите клавишу ВВОД.

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

    Breakpoint hit, showing Locals

Использование консоли отладки

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

  1. Выберите вкладку Консоль отладки.

  2. Введите name = "Gracie" в запросе в нижней части окна Консоль отладки и нажмите клавишу ВВОД.

    Change variable values

  3. Введите currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() в нижней части окна Консоль отладки и нажмите клавишу ВВОД.

    В окне Переменные отображаются новые значения переменных name и currentDate.

  4. Продолжите выполнение программы, нажав кнопку Продолжить на панели инструментов. Еще один способ продолжить — нажать клавишу F5.

    Continue debugging

  5. Снова выберите вкладку Терминал.

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

    Terminal showing the entered values

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

Установка условной точки останова

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

  1. Щелкните правой кнопкой мыши красную точку, обозначающую точку останова (или щелкните ее, удерживая нажатой клавишу CTRL в macOS). В контекстном меню выберите Изменить точку останова, чтобы открыть диалоговое окно, в котором можно ввести условное выражение.

    Breakpoint context menu

  2. Выберите Expression в раскрывающемся списке, введите следующее условное выражение и нажмите клавишу ВВОД.

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    При каждом достижении точки останова отладчик вызывает метод String.IsNullOrEmpty(name) и останавливается на этой строке только в том случае, если вызов метода возвращает true.

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

  3. Запустите отладку программы, нажав клавишу F5.

  4. Когда на вкладке Терминал появится предложение ввести имя, нажмите клавишу ВВОД.

    Так как указанное вами условие соблюдается (name имеет значение null или String.Empty), выполнение программы будет остановлено при достижении точки останова, то есть перед выполнением метода Console.WriteLine.

    В окне Переменные указывается, что значение переменной name ""или String.Empty.

  5. Убедитесь в том, что переменная содержит пустую строку, введя следующий оператор в окне Консоль отладки и нажав клавишу ВВОД. Результат true.

    name == String.Empty
    
  6. Нажмите кнопку Продолжить на панели инструментов, чтобы возобновить выполнение программы.

  7. Перейдите на вкладку Терминалов и нажмите любую клавишу, чтобы выйти из программы и прекратить отладку.

  8. Очистите точку останова. Для этого щелкните красную точку в левом поле окна с кодом. Другие способы очистки точки останова— это нажатие клавиши F9 или > выбор точки останова запуска в меню во время выбора строки кода.

  9. При появлении предупреждения о том, что условие точки останова будет потеряно, выберите Удалить точку останова.

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

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

  1. Установите точку останова на открывающей фигурной скобке метода Main.

  2. Нажмите клавишу F5, чтобы запустить отладку.

    Visual Studio Code выделит строку точки останова.

    На этом этапе в окне Переменные показано, что массив args пуст, а name и currentDate имеют значения по умолчанию.

  3. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Step-Into button

    Будет выделена следующая строка.

  4. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio Code выполняет Console.WriteLine для запроса имени и выделяет следующую строку выполнения. Следующая строка — это Console.ReadLine для name. Окно "Переменные " не изменяется, а вкладка "Терминал " отображает запрос "Что такое ваше имя?".

  5. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio выделит назначение переменной name. Окно "Переменные" очищается.

  6. Ответьте на этот запрос, введя строку на вкладке "Терминал" и нажав клавишу ВВОД.

    На вкладке Терминал может не отображаться введенная строка, однако метод Console.ReadLine будет записывать входные данные.

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

  7. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio Code выделит назначение переменной currentDate. На вкладке Терминал также отображается строка, указанная в командной строке.

  8. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    В окне Переменные отображается значение переменной currentDate, которому было присвоено свойство DateTime.Now.

  9. Выберите Запуск>Шаг с заходом или нажмите клавишу F11.

    Visual Studio Code вызывает метод Console.WriteLine(String, Object, Object). В окне консоли отображается форматированная строка.

  10. Выберите Запуск>Шаг с выходом или нажмите клавиши SHIFT+F11.

    Step-Out button

  11. Выберите вкладку Терминал.

    В окне терминала отобразится сообщение "Нажмите любую клавишу, чтобы выйти..."

  12. Нажмите любую клавишу для выхода из программы.

Использование конфигурации сборки для выпуска

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

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

dotnet run --configuration Release

Дополнительные ресурсы

Следующие шаги

В этом учебнике вы использовали средства отладки Visual Studio Code. В следующем руководстве вы опубликуете развертываемую версию приложения.