В чем разница между клавишами F10 и F11 в визуальной студии?

Я новичок в С#. Я ударил точку останова и нажал F10 или F11.

Какой ключ должен использоваться для компиляции?

Пожалуйста, помогите мне. Можете ли вы объяснить мне, что делают эти клавиши?

Ответ 1

F10 ( "step over" ) больше не опускается в стек вызовов. Он перемещается к следующей строке текущей функции.

F11 ( "шаг в" ) сверлит вниз в вызываемую функцию.

void function1()
{
    function2();
    function3();
}

Если вы нажмете точку останова на function2(), F10 перейдет к строке function3(). F11 будет продвигаться к первой строке внутри function2.

Ответ 2

Если вы абсолютный новичок в Visual Studio, скажем, Visual Studio 2017:

Функциональные клавиши F10 и F11 помогают отслеживать путь выполнения в коде и, таким образом, помогают анализировать промежуточные результаты и отлаживать код.

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

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

Но если вы сейчас находитесь в операторе, который включает вызов функции (метода), такой как FindSum(a,b); и теперь, если вы нажмете F11, вы попадете на FindSum(a,b) линию в функции FindSum(a,b) и продолжите. Обратите внимание, что нажатие клавиши F10, когда ваш текущий оператор включает вызов функции, просто выполнит функцию (без перехода к операторам в теле функции) и перейдет к следующей строке в вашем коде.

Короче говоря, нажатие F11 приведет вас к каждой строке, включая ваше тело функции, но F10 позволяет перейти от одной строки к следующей следующей строке.

Ответ 3

F10 просто отлаживать шаг за шагом. если u может вызывать любую функцию в этом или любом системном классе, то F10 не переходить к дефиниционной части этого класса или метода, они просто текут поэтапно, но если вы можете использовать F11 для отладки, тогда он может перейти на defination часть функции или класса.

Ответ 4

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

F11 → Выполнять один оператор за один раз, после выполнения вызовов функций (шаг вперед).

Ответ 5

Пример. Предположим, что мы имеем приведенный ниже фрагмент кода

с помощью System;

пространство имен ConsoleApplication1 {   классная программа   {       static void Main (string [] args)       {
          var add = AddFunction (10,20);           ЕЫпе (добавить);           Console.ReadKey();       }

    static int AddFunction(int a,int b)
    {
            return a+b; 
    }
}  

}

Теперь установите точку разрыва в var add = AddFunction (10,20);

Если мы выполним Step Over (или F10), то после этой строки элемент управления перейдет к следующей строке Console.WriteLine(add); затем Console.ReadKey(); и наконец} и, наконец, возвращает значение 0 в ОС.

Если мы выполним Step Into (или F11), то после var add = AddFunction (10,20);, элемент управления войдет в реализацию вызванной функции AddFunciton, которая возвращает a + b и после этого Console.WriteLine(add); и т.д.

Надеюсь, это будет полезно.

Ответ 6

F10 = > Step Over (перейдите и выполните каждую строку функции)

F11 = > Step Into (перейдите и выполните каждую функцию)