在调式中我们通常都是按F10或者F11进行调试,如果代码数量较少那么调试起来是非常简单的。如果代码多或者代码中方法内部不会集中很多其他的方法,这时候我们往往会忘记上一步是由哪个地方跳转过来的从而导致我们晕头转向,这个时候我们就需要利用VisualStudio中的堆栈信息进行辅助帮助我们思路清晰的查看代码的调用链路。.
示例代码如下:
internal class Class1
{
public void Test()
{
var local = PublicMethod(new Juster(18));
Console.WriteLine(local);
}
public static double PublicMethod(Juster juster)
{
double result = GetScale(in juster);
return result + result;
}
private static double GetScale(in Juster input) => input.Age * input.Age;
}
调用代码:
static void Main(string[] args)
{
Class1 class1 = new Class1();
class1.Test();
Console.WriteLine();
}
这个时候假设我们需要调试class1中的三个方法,打上三个断点。
这个时候我们运行到最后一个方法时,假设代码内容非常复杂这个时候我们已经晕了。这时候就需要打开“堆栈调用”的窗口,查看具体的调试信息。
然后根据堆栈信息逐步往后看。我们从下往上逐步双击堆栈信息,VisualStudio会自动帮助我们把关注点跳转到对应的代码行数也就是“发生地”。