.Net - what is an "unwind"?

.net, c#, stack-unwinding, vb.net

Solution

It's me!

No, in this context it typically refers to the process of stepping ("backwards"/"upwards") through a stack, removing successive frames until you've come back to the desired level. Typical stacks are (of course) very linear in their structure, frames are stacked end-to-end after each other, so there's not really much literal unwinding going on, but that's what it's called.

This Wikipedia page has more detail.

Problem

While answering this question I noticed that I got the following dialog while atempting to move the "cursor" while an exception was being handled: Unable to set the next statement to this location. The attempt to unwind the callstack failed. Unwinding is not possible in the following scenarios: - Debugging was started via Just-In-Time debugging. - An unwind is in progress - A System.StackOverflowException or System.Threading.ThreadAbortException exception has been thrown. What exactly is an unwind?

Original source