[squeak-dev] Re: About controlling debugger popping up
Andreas Raab
andreas.raab at gmx.de
Tue Aug 5 17:12:42 UTC 2008
In Qwaq Forums, we have a default error handler per-process which gets
called if an error isn't handled directly. This makes it possible to
attribute "other" processes with a viable error handler in particular if
you expect this to be a potentially flaky subsystem (the finalization
process has had that issue once upon a time).
In addition, we use a singleton (SystemErrorHandler default) which gets
called if no per-process handler is installed (by default it dispatches
to ToolSet default). The running application then installs itself as the
default error handler and does whatever it wants with the resulting
(unhandled) error.
The advantage is that a) you don't need to hack UnhandledError etc. for
your specific application and b) that you can handle errors in *all*
processes. Which obviously is a very helpful thing for a heavily
multi-threaded application like Qwaq Forums ;-)
There are lots of other cool things we have done (if I may blatantly say
so ;-) without "disabling programmer facilities" with the sledge hammer.
For example, Qwaq Forums installs a custom user interrupt handler, so if
you hit Alt-Period you are being asked for a password which allows you
to do all sorts of fun things: From breaking into the sealed app, over
enabling certain restricted features up to exposing additional developer
options in menus for debugging the sealed application.
Needless to say, all of this is available in Croquet.
Cheers,
- Andreas
stephane ducasse wrote:
> Hello list,
>
> I was thinking how I would control the opening of debugger on deployed
> application.
> Imagine I want to copy the stack and send it by email or something like
> that.
>
> I could change the defaultAction of UnhandledError for example.
>
> Now if I want to scope the control of popping debuggers I could use on:do:
> and I was wondering if there is an idiom. I was not sure that this is a
> good style to
> do on: UnhandledError do: .... but may be I'm wrong
>
> So how do you do it.
>
> Stef
More information about the Squeak-dev
mailing list
|