【问题标题】:VS 2010 debugging - from where is the method called?VS 2010 调试 - 从哪里调用该方法?
【发布时间】:2011-12-23 13:42:58
【问题描述】:

在 C#、VS 2010 中,是否有一个键盘快捷键可以查看调试时从何处击中断点?

例如,如果我在一个名为 myMethod() 的方法中有一个断点,并且它被命中了,如何从哪一行看出它被调用了?

【问题讨论】:

  • 静态地,即无需调试,Resharper 6 具有出色的选项来准确显示调用的来源。 IIRC VS2010 本身应该有类似的功能,但我现在不能说,因为我在 VS2008 上

标签: c# visual-studio-2010 debugging callstack


【解决方案1】:

您可以查看“调用堆栈”。在 VS 中,转到 Debug > Windows > Call Stack。 在调试模式下,调用堆栈将显示为了到达断点而调用了哪些方法。

【讨论】:

    【解决方案2】:

    如果你打开Call Stack window,你可以看到通往当前行的方法调用链。

    如果您拥有更高级的 Visual Studio 版本之一,您还可以查看 Debugger Canvas

    【讨论】:

      【解决方案3】:

      call stack window 不够吗?

      【讨论】:

        【解决方案4】:

        您可以查看调用堆栈,它将显示方法调用的来源,可以通过在应用运行时转到 Debug => Windows 菜单选项或按 Ctrl+D,C 来打开它。

        【讨论】:

          【解决方案5】:

          您是否在寻找整个调用堆栈?

          在这种情况下,你可以在你的断点被命中时尝试这个: - 在 Debug 菜单上,选择 Windows,然后单击 Call Stack。

          【讨论】:

            【解决方案6】:

            在简单的情况下,“调用堆栈”窗口会显示这个。

            如果编译器使用尾调用优化或方法内联,可能会产生意想不到的结果。但这不应该在调试时发生,因为(默认情况下)会禁用这些优化。

            yield-iterators 和 async 方法显示它们是从哪里恢复的,而不是它们最初被调用的地方。

            【讨论】:

              猜你喜欢
              • 2011-07-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-08-19
              • 1970-01-01
              • 1970-01-01
              • 2012-08-10
              • 1970-01-01
              相关资源
              最近更新 更多