我是C#的新手。我点了一个断点并按 F10 或 F11 。
哪个密钥应该用于编译?
请帮帮我。你能解释一下这把钥匙的作用吗?
答案 0 :(得分:35)
F10 (“跳过”)不会进一步下降到调用堆栈中。它移动到当前函数的下一行。
F11 (“step into”)深入到被调用的函数中。
void function1()
{
function2();
function3();
}
如果您点击function2()
上的断点, F10 将前进到function3()
行。 F11 将前进到function2
内的第一行。
答案 1 :(得分:1)
如果您绝对是Visual stdio的初学者,请说Visual Studio 2017 :
功能键F10和F11有助于遵循程序中的执行路径 代码,从而有助于检查中间结果并调试 代码。
您需要在自己的代码中的任何行上(方法(函数)内部)放置一个“断点”。在执行程序之前,只需单击代码窗口最左侧边框上与您需要开始调试的代码语句相对应的边缘即可。您可以在代码中放置多个断点。
现在执行(运行)程序,它将在您的第一个断点自动出现故障。现在继续按F10键,从一个语句移到另一个语句,以继续执行程序(按顺序执行)。
但是,如果您当前正在使用包含函数(方法)调用的语句,例如FindSum(a,b);现在,如果您按F11键,它将带您进入功能findSum(a,b)的第一行并继续。请注意,当当前语句涉及函数调用时按F10键,它将仅执行该函数(而无需带您进入函数主体中的语句)并移至代码的下一行。
简而言之,按F11会将您带到包括功能主体在内的每一行,但是F10允许从一行移到紧邻的下一行。
答案 2 :(得分:0)
F10 只是逐步调试。 如果你可以调用这个或任何系统类中的任何函数,那么 F10 不会去那个类或方法的定义部分,它们只是一步一步流动,但如果你可以使用 F11 对于debuging,kbd>然后它可以进入函数或类的定义部分。
答案 3 :(得分:0)
F10 - >执行下一行代码,但不执行任何函数调用(Step Over)。
F11 - >在执行函数调用(Step Into)后,一次执行一个语句。
答案 4 :(得分:0)
一个例子。假设我们有以下代码
使用System;
命名空间ConsoleApplication1
{
课程
{
static void Main(string [] args)
{
var add = AddFunction(10,20);
Console.WriteLine(添加);
Console.ReadKey();
}
"start_longitude "
^ remove this space character
}
现在在var add = AddFunction(10,20)处设置一个断点;
如果我们执行Step Over(或F10),那么在该行之后,控件将转到下一行,即Console.WriteLine(add);然后是Console.ReadKey();最后,最后将值0返回给OS。
如果我们执行Step Into(或F11),那么在var add = AddFunction(10,20)之后; ,控件将进入AddFunciton的被调用函数实现,返回a + b,然后返回Console.WriteLine(add);等等。
希望这会有所帮助。
答案 5 :(得分:-2)
F10 =>跳过(去执行该函数的每一行)
F11 =>步入(去执行每个功能)