To complete mark's answer, that option tells Eclipse when to switch to the associated perspective upon program suspension - meaning when a breakpoint is hit, it will switch to Debug perspective.

Switching back to another perspective after you're done debugging has to be:

Debug Perspective Auto Closer

Automatically opens previous perspective when debugging ends.

Behaviors: (configurable: Preferences -> Debug Perspective Auto Closer)

  1. [default] when all debug launches have terminated, changes to perspective active on first launch
  2. when any debug launch has terminated, changes to perspective active on that launch

Java perspective

If you want to avoid it switching to Debug in the first place, you can choose "Never" as the option (introduced in Eclipse 3.2 at the time).

(You can find the given Preferences page in Run/Debug > Perspective)

alt text

If you want to switch back in the situation where the debugged program terminates normally (Not when you want to stop debugging it yourself), you may hope Eclipse figures out that your program terminates normally and switch to a "default" perspective at that time...

However, there is no notion of "default" perspective, so how would Eclipse knows which one to switch to ? (the "Preferences/Perspectives/Make default" is only for the "Open Perspective" dialog, but that may not be the same perspective than the one you actually want to switch back to after a debug)

Open perspective

Also, should Eclipse closes the Debug perspective or just changes to a different one ?
What if there is more than one program running -- when one terminates, you might still be interested in debugging the other one, or maybe not.

The point is, the decision about when to change perspective (and what perspective to change to) is not reasonable for the machine to make -- it requires a person knowing what he wants to do next.