Учебник. Сведения об отладке кода C# с помощью Visual StudioTutorial: Learn to debug C# code using Visual Studio

В этом пошаговом руководстве рассматриваются возможности отладчика Visual Studio.This article introduces the features of the Visual Studio debugger in a step-by-step walkthrough. Более полное описание функций отладчика см. в статье c Знакомство с отладчиком Visual Studio.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.

Несмотря на то, что демонстрационное приложение написано на C#, большинство функций применимы к C++, Visual Basic, F#, Python, JavaScript и другим языкам, поддерживаемым Visual Studio (F# не поддерживает возможность "Изменить и продолжить").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# и JavaScript не поддерживают окно Видимые).F# and JavaScript do not support the Autos window). На снимках экрана представлены примеры на C#.The screenshots are in C#.

В этом руководстве рассмотрены следующие задачи:In this tutorial, you will:

  • Запуск отладчика и попадание в точки останова.Start the debugger and hit breakpoints.
  • Использование команд для пошагового выполнения кода в отладчике.Learn commands to step through code in the debugger
  • Проверка переменных в подсказках к данным и окнах отладчика.Inspect variables in data tips and debugger windows
  • Просмотр стека вызововExamine the call stack

Предварительные требованияPrerequisites

У вас должна быть установлена среда Visual Studio 2019 и рабочая нагрузка Кроссплатформенная разработка .NET Core.You must have Visual Studio 2019 installed and the .NET Core cross-platform development workload.

У вас должна быть установлена среда Visual Studio 2017 и рабочая нагрузка Кроссплатформенная разработка .NET Core.You must have Visual Studio 2017 installed and the .NET Core cross-platform development workload.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

Если вам нужно установить рабочую нагрузку, но вы уже используете Visual Studio, выберите пункт Средства > Получить средства и компоненты... , после чего запустится Visual Studio Installer.If you need to install the workload but already have Visual Studio, go to Tools > Get Tools and Features..., which opens the Visual Studio Installer. Запускается Visual Studio Installer.The Visual Studio Installer launches. Выберите рабочую нагрузку Кроссплатформенная разработка .NET Core и затем элемент Изменить.Choose the .NET Core cross-platform development workload, then choose Modify.

Создание проектаCreate a project

Сначала вы создадите проект консольного приложения .NET Core.First, you'll create a .NET Core console application project. Для этого типа проекта уже имеются все нужные файлы шаблонов, что избавляет вас от лишней работы.The project type comes with all the template files you'll need, before you've even added anything!

  1. Откройте Visual Studio 2017.Open Visual Studio 2017.

  2. В верхней строке меню последовательно выберите Файл > Создать > Проект.From the top menu bar, choose File > New > Project.

  3. В левой области диалогового окна Новый проект разверните узел C# и выберите .NET Core.In the New Project dialog box in the left pane, expand C#, and then choose .NET Core. На средней панели выберите Консольное приложение (.NET Core) .In the middle pane, choose Console App (.NET Core). Назовите проект get-started-debugging.Then name the project get-started-debugging.

    Если шаблона проекта Console App (.NET Core) (Консольное приложение (.NET Core)) нет, выберите ссылку Открыть Visual Studio Installer в левой области диалогового окна Новый проект.If you don't see the Console App (.NET Core) project template, choose the Open Visual Studio Installer link in the left pane of the New Project dialog box.

    Запускается Visual Studio Installer.The Visual Studio Installer launches. Выберите рабочую нагрузку Кроссплатформенная разработка .NET Core и затем элемент Изменить.Choose the .NET Core cross-platform development workload, and then choose Modify.

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

    Если окно запуска не открыто, выберите Файл > Окно запуска.If the start window is not open, choose File > Start Window.

  2. На начальном экране выберите Создать проект.On the start window, choose Create a new project.

  3. В поле поиска окна Создание проекта введите консоль.On the Create a new project window, enter or type console in the search box. Затем выберите C# в списке языков и Windows в списке платформ.Next, choose C# from the Language list, and then choose Windows from the Platform list.

    Применив фильтры языка и платформы, выберите шаблон Консольное приложение (.NET Core) и нажмите кнопку Далее.After you apply the language and platform filters, choose the Console App (.NET Core) template, and then choose Next.

    Выбор шаблона C# для консольного приложения (.NET Core)

    Примечание

    Если шаблон Консольное приложение (.NET Core) отсутствует, его можно установить из окна Создание проекта.If you do not see the Console App (.NET Core) 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. После этого в Visual Studio Installer выберите рабочую нагрузку Кроссплатформенная разработка .NET Core.Then, in the Visual Studio Installer, choose the .NET Core cross-platform development workload.

  4. В поле Имя проекта окна Настроить новый проект введите GetStartedDebugging.In the Configure your new project window, type or enter GetStartedDebugging in the Project name box. Затем нажмите Создать.Then, choose Create.

    Новый проект открывается в Visual Studio.Visual Studio opens your new project.

Создание приложенияCreate the application

  1. Откройте файл Program.cs и замените все его содержимое по умолчанию следующим кодом:In Program.cs, replace all of the default code with the following code instead:

    using System;
    class ArrayExample
    {
        static void Main()
        {
            char[] letters = { 'f', 'r', 'e', 'd', ' ', 's', 'm', 'i', 't', 'h'};
            string name = "";
            int[] a = new int[10];
            for (int i = 0; i < letters.Length; i++)
            {
                name += letters[i];
                a[i] = i + 1;
                SendMessage(name, a[i]);
            }
            Console.ReadKey();
        }
        static void SendMessage(string name, int msg)
        {
            Console.WriteLine("Hello, " + name + "! Count to " + msg);
        }
    }
    

Запуск отладчикаStart the debugger!

  1. Нажмите клавишу F5 (Отладка > Начать отладку) или кнопку Начать отладкуНачать отладку на панели инструментов отладки.Press F5 (Debug > Start Debugging) or the Start Debugging button Start Debugging in the Debug Toolbar.

    При нажатии клавиши F5 происходит запуск приложения с присоединенным отладчиком. Но пока мы не сделали ничего особенного, чтобы проанализировать код.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.

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    

    В этом руководстве мы более подробно рассмотрим приложение с отладчиком и познакомимся с возможностями отладчика.In this tutorial, we'll take a closer look at this app using the debugger and get a look at the debugger features.

  2. Остановите отладчик, нажав красную кнопку остановки Остановить отладку (SHIFT + F5).Stop the debugger by pressing the red stop Stop Debugging button (Shift + F5).

  3. В окне консоли нажмите клавишу, чтобы закрыть его.In the console window, press a key to close the console window.

Установка точки останова и запуск отладчикаSet a breakpoint and start the debugger

  1. В цикле for функции Main установите точку останова, щелкнув левое поле следующей строки кода:In the for loop of the Main function, set a breakpoint by clicking the left margin of the following line of code:

    name += letters[i];

    В месте установки точки останова появится красный круг Точка останова.A red circle Breakpoint appears where you set the breakpoint.

    Точки останова — это один из самых простых и важных компонентов надежной отладки.Breakpoints are one of the most basic and essential features of reliable debugging. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода.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.

  2. Нажмите клавишу F5 или кнопку Начать отладкуНачать отладку. Запустится приложение и отладчик перейдет к строке кода, где задана точка останова.Press F5 or the Start Debugging button Start Debugging, 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).

    Если приложение еще не запущено, клавиша F5 запускает отладчик и останавливается в первой точке останова.If the app is not yet running, F5 starts the debugger and stops at the first breakpoint. В противном случае F5 продолжает выполнение приложения до следующей точки останова.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.

Здесь мы используем в основном сочетания клавиш, так как они позволяют быстро выполнять приложение в отладчике (эквивалентные команды, например команды меню, отображаются в круглых скобках).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).

  1. При приостановке на операторе name += letters[i] наведите указатель мыши на переменную letters и увидите ее значение по умолчанию, а именно значение первого элемента в массиве — char[10].While paused on the name += letters[i] statement, hover over the letters variable and you see it's default value, the value of the first element in the array, char[10].

    Функции, позволяющие проверять переменные, являются самыми полезными возможностями отладчика. Реализовывать эту задачу можно разными способами.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.

  2. Разверните переменную letters, чтобы просмотреть ее свойства, включая все элементы, которые она содержит.Expand the letters variable to see its properties, which include all the elements that the variable contains.

    Снимок экрана отладчика Visual Studio с выделенным оператором "name+= letters[I]" и раскрывающимся списком, содержащим элементы в массиве букв.

  3. Затем наведите указатель мыши на переменную name, чтобы просмотреть ее текущее значение — пустую строку.Next, hover over the name variable, and you see its current value, an empty string.

  4. Нажмите клавишу F10 (или выберите Отладка > Шаг с обходом) дважды, чтобы перейти к вызову метода SendMessage, а затем еще раз нажмите клавишу F10.Press F10 (or choose Debug > Step Over) twice to advance to the SendMessage method call, and then press F10 one more time.

    При нажатии клавиши F10 отладчик переходит к следующей инструкции без захода в функции или методы в коде приложения (код продолжает выполняться).F10 advances the debugger to the next statement without stepping into functions or methods in your app code (the code still executes). Нажимая клавишу F10 в вызове метода SendMessage, мы пропускаем код реализации для SendMessage (который нас пока не интересует).By pressing F10 on the SendMessage method call, we skipped over the implementation code for SendMessage (which maybe we're not interested in right now).

  5. Несколько раз нажмите клавишу F10 (или выберите Отладка > Шаг с обходом), чтобы выполнить несколько итераций по циклу for, каждый раз снова приостанавливая выполнение в точке останова и наводя указатель мыши на переменную name, чтобы просмотреть ее значение.Press F10 (or Debug > Step Over) 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.

    Анимированный снимок экрана: отладчик Visual Studio, демонстрирующий результат нажатия клавиши F10 для параметра "Шаг с обходом" и прохода по циклу во время отладки.

    Значение переменной изменяется при каждой итерации цикла for — f, затем fr, fre и т. д.The value of the variable changes with each iteration of the for loop, showing values of f, then fr, then fre, and so on. Для более быстрого прохода по циклу в этом сценарии можно нажать клавишу F5 (или выбрать Отладка > Продолжить), чтобы перейти к точке останова, а не к следующей инструкции.To advance the debugger through the loop faster in this scenario, you can press F5 (or choose Debug > Continue) instead, which advances you to the breakpoint instead of the next statement.

    Часто при отладке требуется быстро проверить значения свойств в переменных, чтобы убедиться, что в них хранятся ожидаемые значения. Советы по данным — отличный способ это сделать.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.

  6. Во время приостановки в цикле for в методе Main нажмите клавишу F11 (или выберите Отладка > Шаг с заходом) несколько раз, пока не перейдете в вызов метода SendMessage.While still paused in the for loop in the Main method, press F11 (or choose Debug > Step Into) until you pause at the SendMessage method call.

    Вы должны находиться в следующей строке кода:You should be at this line of code:

    SendMessage(name, a[i]);

  7. Еще раз нажмите клавишу F11, чтобы выполнить шаг с заходом в метод SendMessage.Press F11 one more time to step into the SendMessage method.

    Желтый указатель перемещается в метод SendMessage.The yellow pointer advances into the SendMessage method.

    Использование клавиши F11 для перехода в кодUse F11 to Step Into code

    F11 — это команда Шаг с заходом, которая выполняет приложение с переходом к следующему оператору.F11 is the Step Into command and advances the app execution one statement at a time. Клавишу F11 удобно использовать для более детальной проверки потока выполнения.F11 is a good way to examine the execution flow in the most detail. По умолчанию отладчик пропускает непользовательский код (дополнительные сведения см. в статье об отладке в режиме "Только мой код").By default, the debugger skips over non-user code (if you want more details, see Just My Code).

    Предположим, что вы закончили изучать метод SendMessage и хотите выйти из него, но остаться в отладчике.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.

  8. Нажмите сочетание клавиш SHIFT + F11 (или Отладка > Шаг с выходом).Press Shift + F11 (or Debug > Step Out).

    Эта команда возобновляет выполнение приложения (и работу отладчика) до возврата данных текущим методом или текущей функции.This command resumes app execution (and advances the debugger) until the current method or function returns.

    Вы должны вернуться в цикл for в методе Main, приостановленный на вызове метода SendMessage.You should be back in the for loop in the Main method, paused at the SendMessage method call. Дополнительные сведения о различных способах перемещения по коду см. в разделе Навигация по коду в отладчике.For more information on different ways to move through your code, see Navigate code in the debugger.

  1. Нажмите клавишу F5, чтобы снова перейти к точке останова.Press F5 to advance to the breakpoint again.

  2. В редакторе кода прокрутите вниз и наведите указатель мыши на метод Console.WriteLine в методе SendMessage, чтобы в левой части появилась зеленая кнопка Выполнение до щелкнутого.In the code editor, scroll down and hover over the Console.WriteLine method in the SendMessage method until the green Run to Click button Run to Click appears on the left. В подсказке для кнопки выводится "Выполнить до этого места".The tooltip for the button shows "Run execution to here".

    Использование функции выполнения до щелкнутогоUse the Run to Click feature

    Примечание

    Кнопка Выполнение до щелкнутого впервые появилась в Visual Studio 2017Visual Studio 2017.The Run to Click button is new in Visual Studio 2017Visual Studio 2017. (Если кнопка с зеленой стрелкой отсутствует, воспользуйтесь клавишей F11, чтобы переместить отладчик в нужное место.)(If you don't see the green arrow button, use F11 in this example instead to advance the debugger to the right place.)

  3. Нажмите кнопку Выполнение до щелкнутогоВыполнение до щелкнутого.Click the Run to Click button Run to Click.

    Отладчик перемещается к методу Console.WriteLine.The debugger advances to the Console.WriteLine method.

    Использование этой кнопки аналогично установке временной точки останова.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

Нажмите кнопку Перезапустить Перезапустить приложение на панели инструментов отладки (CTRL + SHIFT + F5).Click the Restart Restart App 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.

Отладчик еще раз останавливается в точке останова, ранее заданной вами в цикле for.The debugger stops again at the breakpoint you previously set inside the for loop.

Проверка переменных с помощью окон "Видимые" и "Локальные"Inspect variables with the Autos and Locals windows

  1. Взгляните на окно Видимые в нижней части редактора кода.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).

  2. Затем посмотрите на окно Локальные на вкладке рядом с окном Видимые.Next, look at the Locals window, in a tab next to the Autos window.

  3. Разверните переменную letters, чтобы отобразить элементы, которые она содержит.Expand the letters variable to show the elements that it contains.

    Проверка переменных в окне локальных переменныхInspect variables in the Locals Window

    В окне Локальные показаны переменные, которые находятся в текущей области, то есть текущем контексте выполнения.The Locals window shows you the variables that are in the current scope, that is, the current execution context.

Установка контрольного значенияSet a watch

  1. В основном окне редактора кода щелкните правой кнопкой мыши переменную name и выберите команду Добавить контрольное значение.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.

    Теперь у вас есть контрольное значение, заданное для переменной name, и по мере перемещения по отладчику вы можете наблюдать за изменением его значения.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

  1. Во время приостановки в цикле for щелкните окно Стек вызовов, которое по умолчанию открыто в нижней правой области.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.

  2. Несколько раз нажмите клавишу F11, пока отладчик не приостановится в методе SendMessage.Click F11 a few times until you see the debugger pause in the SendMessage method. Взгляните на окно Стек вызовов.Look at the Call Stack window.

    Изучение стека вызововExamine the call stack

    В окне Стек вызовов показан порядок вызова методов и функций.The Call Stack window shows the order in which methods and functions are getting called. В верхней строке приведена текущая функция (в данном приложении метод SendMessage).The top line shows the current function (the SendMessage method in this app). Во второй строке показано, что функция SendMessage была вызвана из метода Main и т. д.The second line shows that SendMessage was called from the Main method, and so on.

    Примечание

    Окно Стек вызовов аналогично перспективе "Отладка" в некоторых интегрированных средах разработки, например Eclipse.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

  1. Дважды нажмите клавишу F11, чтобы запустить метод Console.WriteLine.Press F11 twice to run the Console.WriteLine method.

  2. Приостановив отладчик в вызове метода SendMessage, с помощью мыши захватите желтую стрелку (указатель выполнения) в левой части и переместите ее вверх на одну строку — обратно в Console.WriteLine.With the debugger paused in the SendMessage method call, use the mouse to grab the yellow arrow (the execution pointer) on the left and move the yellow arrow up one line, back to Console.WriteLine.

  3. Нажмите клавишу F11.Press F11.

    Отладчик повторно выполнит метод Console.WriteLine (вы увидите это в выходных данных окна консоли).The debugger reruns the Console.WriteLine method (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.

  4. Чтобы продолжить выполнение приложения, нажмите клавишу F5.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.