.Net - 「アンワインド」とは何ですか?
-
18-09-2019 - |
質問
答えながら これ 質問 例外の処理中に「カーソル」を移動しようとすると、次のダイアログが表示されることに気付きました。
次のステートメントをこの場所に設定できません。コールスタックを巻き戻す試みは失敗しました。
次のシナリオでは巻き戻しはできません。
- ジャストインタイム デバッグによってデバッグが開始されました。
- リラックスが進行中です
- System.StackOverflowException または System.Threading.ThreadAbortException 例外がスローされました。
正確には何ですか くつろぐ?
解決
<ストライキ>それは私です!ストライキ>
いいえ、この文脈では、典型的には、あなたが所望のレベルに戻ってきまで連続するフレームを除去し、スタックを介して(「逆方向」/「上向き」)ステップのプロセスを指します。 (もちろん)非常にその構造中に線形である典型的なスタックは、フレームが互いの後、エンドツーエンドを重ね、その上に行くの巻き戻し本当に多くのリテラルがないのですが、それはそれはと呼ばれるものですされています。
他のヒント
巻き戻しがちょうどスタックまで後退されます。
CLRは、現在の方法は、それがその後、確認するために、それを呼び出したメソッドに戻り、例外を処理しない場合、すなわち、例外を処理できるcatchブロックで方法を見つけるためにスタックを「巻き戻し」される。ここで、
このそれはなります。それはどちらかの例外を処理するための方法を見つけるか、アプリケーション・レベルのエラー処理に当たるまで、これが繰り返されます。
これは、そこに障害のあるスレッドがあるか、スタックがいっぱいで、何のスタックフレームが作成されないので、おそらくそれは、このような状況では、現在のコンテキストをリラックスするのに付き合えとCLRであることを意味します。
所属していません StackOverflow