#handle:do:
contexts, some of
the processes startup contexts,
and contexts related to the handling of doIt evaluations.
The default mode for new debuggers can be changed in the Launcher's "Source & Debugger" settings menu.
This is an experimental feature and the flag may be merged with the previous flag in future versions.
As an alternative, place a statement-breakpoint on the desired code line,
and press the
Sorry, selective ignoring is not supported for statement breakpoints by the time this document was written.
A hard terminated process has no chance to perform any cleanup actions;
not even unwind blocks are evaluated.
If you hard terminate a view's process,
chances are high that inoperative windows are left on the display, cursors
are not restored or semaphores stay blocked (all of this is normally cleaned up
by unwind handlers, if properly terminated).
You can get rid of remaining views with the launcher's "Destroy View"
utility function (which you may have to perform multiple times,
to destroy all intermediate views up to the topview - try to click on an
outer view, if possible).
Blocked semaphores can be released manually, by
opening a debugger on a blocking process and evaluating "self signal"
in a context where that semaphore is the receiver. The launcher also offers a
Semaphore Monitor view in its System menu, to find and possibly release
such blocked semaphores.
The same applies to any critical regions (RecursionLocks and critical blocks)
which have been entered at termination time.
Also, memory leaks may be introduced as an external resource (such as external memory or OS resources) may not be properly released, if the hard terminate is performed while being inside the allocation, release or finalization code of such a resource.
Continue in "Wrapped and Breakpointed Methods"...
Copyright © 1995 Claus Gittinger Development & Consulting, all rights reserved
<cg at exept.de>