Я новичок в С#. Я ударил точку останова и нажал F10 или F11.
Какой ключ должен использоваться для компиляции?
Пожалуйста, помогите мне. Можете ли вы объяснить мне, что делают эти клавиши?
Я новичок в С#. Я ударил точку останова и нажал F10 или F11.
Какой ключ должен использоваться для компиляции?
Пожалуйста, помогите мне. Можете ли вы объяснить мне, что делают эти клавиши?
F10 ( "step over" ) больше не опускается в стек вызовов. Он перемещается к следующей строке текущей функции.
F11 ( "шаг в" ) сверлит вниз в вызываемую функцию.
void function1()
{
function2();
function3();
}
Если вы нажмете точку останова на function2()
, F10 перейдет к строке function3()
. F11 будет продвигаться к первой строке внутри function2
.
Если вы абсолютный новичок в Visual Studio, скажем, Visual Studio 2017:
Функциональные клавиши F10 и F11 помогают отслеживать путь выполнения в коде и, таким образом, помогают анализировать промежуточные результаты и отлаживать код.
Вам нужно поставить точку останова на любую строку в вашем собственном коде (внутри метода (функции)). Перед выполнением программы просто нажмите на крайнюю левую границу окна кода, соответствующую выражению кода, с которого нужно начать отладку. Вы можете поместить несколько точек останова в свой код.
Теперь запустите (запустите) программу, она будет автоматически переведена в вашу первую точку останова. Теперь продолжайте нажимать клавишу F10, чтобы перейти от одного оператора к другому, чтобы продолжить выполнение программы (в последовательном порядке).
Но если вы сейчас находитесь в операторе, который включает вызов функции (метода), такой как FindSum(a,b);
и теперь, если вы нажмете F11, вы попадете на FindSum(a,b)
линию в функции FindSum(a,b)
и продолжите. Обратите внимание, что нажатие клавиши F10, когда ваш текущий оператор включает вызов функции, просто выполнит функцию (без перехода к операторам в теле функции) и перейдет к следующей строке в вашем коде.
Короче говоря, нажатие F11 приведет вас к каждой строке, включая ваше тело функции, но F10 позволяет перейти от одной строки к следующей следующей строке.
F10 просто отлаживать шаг за шагом. если u может вызывать любую функцию в этом или любом системном классе, то F10 не переходить к дефиниционной части этого класса или метода, они просто текут поэтапно, но если вы можете использовать F11 для отладки, тогда он может перейти на defination часть функции или класса.
F10 → Выполнить следующую строку кода, но не выполнять выполнение через любые вызовы функций (шаг за шагом).
F11 → Выполнять один оператор за один раз, после выполнения вызовов функций (шаг вперед).
Пример. Предположим, что мы имеем приведенный ниже фрагмент кода
с помощью 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); и т.д.
Надеюсь, это будет полезно.
F10 = > Step Over (перейдите и выполните каждую строку функции)
F11 = > Step Into (перейдите и выполните каждую функцию)