2010-01-05 42 views
7

在回答this问题,我注意到,我得到了下面的对话,同时atempting移动“光标”,而一个例外是正在处理:.Net - 什么是“放松”?

无法下一条语句设置到此位置。解除调用堆栈的尝试失败。

平仓是不可能在下列情况:

  1. 调试经刚刚在实时调试开始。
  2. 退绕过程中
  3. 一个System.StackOverflowException或System.Threading.ThreadAbortException异常被抛出。

究竟是开卷

回答

15

这是我!

不,在这种情况下,它通常指的是通过堆栈逐步(“向后”/“向上”)的过程,删除连续的帧,直到你回到所需的水平。典型的堆栈是(当然)非常在他们的线性结构,框架叠压端至端后对方,所以没有真多字面展开回事,但这是它叫什么。

This Wikipedia page有更多详细信息。

1

展开只是向上移动堆栈。

0

这意味着有一个缺陷纱线或可能是因为堆栈已满,并且没有创建堆栈帧,将CLR作为选择使您可在这种情况下,当前上下文。

1

这里CLR'展开'堆栈,以便找到一个可以处理异常的catch块的方法,也就是说,如果当前方法不处理异常,它会返回到调用它的方法看看会不会。重复此操作直至找到或点击应用程序级的错误处理来处理异常的方法。