代码之家  ›  专栏  ›  技术社区  ›  eomeroff

VisualStudio中调用堆栈窗口的用途是什么?

  •  6
  • eomeroff  · 技术社区  · 14 年前

    VisualStudio中调用堆栈窗口的用途是什么?

    4 回复  |  直到 14 年前
        1
  •  4
  •   Jason    14 年前

    你可以从字面上把它看作是把你带到这里的一堆指令。

    这就是它对操作环境的意义。

    您可以双击堆栈中的任何条目以转到该源代码(如果您的计算机上有)。当你在那里的时候,你可以检查局部变量,等等。这是一种检测工具,可以帮助你找出你的程序到目前为止发生了什么。

        2
  •  8
  •   Abel    14 年前

    当代码中断时(即抛出异常时),堆栈跟踪窗口将显示在引发异常的方法之前调用的所有方法,包括每个方法的参数和这些参数的状态。这使得调试更容易,特别是在更复杂的调用图中(也就是说,当您无法通过查看代码来确定谁调用了其他方法/属性/函数)。

    试一下,在代码的某个地方放置一个断点(F9),运行代码,等待断点被击中,然后打开堆栈窗口。您将看到当前线路上的所有呼叫。您可以双击stack trace窗口中的每个条目,光标将向右跳转。

    如果您想知道:灰线是没有加载源代码或符号的方法调用。可以在这些行上单击鼠标右键,然后选择“加载符号”以加载符号。

        3
  •  1
  •   Justin Niessner    14 年前

    调用堆栈的目的是让您确切地看到是什么调用导致了问题的发生。

    在异常中查看堆栈跟踪时,可以看到导致错误发生的原始调用。

        4
  •  1
  •   JaredPar    14 年前

    “调用堆栈”窗口的目的是提供对完整代码路径的访问,该路径使您能够访问当前指令。您可以使用它来导航到程序中以前的函数调用,检查局部变量、参数等。。。它是一个非常宝贵的工具,可以用来确定代码为什么要做它正在做的事情。