Visual Studio调试:跳转到方法结尾或调用方法

5

我经常在VS(C#)的调试断点或异常状态下遇到这种情况:我想从几层方法中退出到调用栈上几层的调用者位置。然后我就可以进行修补、重试等操作。

在简单的情况下,我可以[1]找到当前方法的结尾,[2]设置下一个语句,然后[3]跳出。然后重复步骤1/2/3,一路向上工作,直到我到达想要到达的位置。然而,这是相当痛苦的....

有人能建议任何自动化来帮助这个过程吗?按优先顺序列举如下....

  1. 一次性跳出到我想要到达的位置
  2. 将步骤1/2/3组合成一个快捷方式,我可以快速重复
  3. 只自动化步骤1(使用标准快捷键很容易完成步骤2和3)。

(我尝试过搜索,但我想到的所有术语都太通用了,以至于我没有得到任何有用的答案)。


1
你能否在想要的位置设置一个断点,然后按F5继续执行,直到达到该断点? - user1231231412
可能是 https://dev59.com/23VC5IYBdhLWcg3woStW 的重复问题。 - SliverNinja - MSFT
你可以通过将黄色箭头拖动到结束大括号来跳过当前方法的剩余部分而不执行它,但我认为你无法跳出当前方法,并且我认为没有快捷键可用。 - Igby Largeman
2个回答

8

Shift-F11可以跳出当前方法。


谢谢回复。不幸的是,这超出了当前方法(我的步骤2)。但它试图先执行方法中的插入语句;而我的步骤1正在避免这种情况。引起初始断点的错误通常意味着这些插入语句也无法正常工作,这就是我想要直接跳到上面级别所需点的原因。 - Stephen Todd

1

调试器没有办法将下一条要执行的语句设置到堆栈顶部当前方法之外的其他位置。


再次感谢,但是和我对shift-F11的回答一样。那会尝试执行所有介于代码中的调用级别中的语句,直到达到该点; 但我想避免执行这些语句。 - Stephen Todd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接