What do Abort and Suspend actually do when debugging?

When debugging, I only usually use Continue, Step Over, Step Into and Step Out. So what are the purposes of Abort and Suspend?


UPDATE:

Another one is "Break on All Exceptions". As per the documentation, it "forces the debugger to suspend the execution of threads when exceptions occur. " What does it mean?

Solution

Hi Francis,

"Abort" just kills the running program. It's useful when you're debugging and you're spotting the bug, and continuing is of no use. I've never used "Suspend", but it just halts the execution until you press "stop debugging". Afaik there's no way to resume from a Suspend.

"Break On All Exceptions" does exactly that: it breaks (i.e. halts the program and transfers focus to the debugger) when an Exception occurs, just before the Exception Handler is executed, even if you're not single stepping in the debugger.

Solution

Kilian Hekhuis wrote:

Hi Francis,

"Abort" just kills the running program. It's useful when you're debugging and you're spotting the bug, and continuing is of no use. I've never used "Suspend", but it just halts the execution until you press "stop debugging". Afaik there's no way to resume from a Suspend.

"Break On All Exceptions" does exactly that: it breaks (i.e. halts the program and transfers focus to the debugger) when an Exception occurs, just before the Exception Handler is executed, even if you're not single stepping in the debugger.


Thank you Kilian

You're most welcome :). I agree the documentation isn't very clear on this, there's room for improvement.