[Newbies] Frozen Squeak environment
Benjamin Schroeder
benschroeder at acm.org
Sun Aug 5 14:21:53 UTC 2007
On Aug 5, 2007, at 10:03 AM, Peter Mucsi wrote:
> Hi,
>
> I'm a newbee playing around in Squeak for a while.
>
> Sometimes I write code that is faulty, for example, execution gets
> into an infinite loop. If the loop doesn't stop after a while, the
> whole environment gets frozen and I have to kill Squeak in Windows
> XP. I have tried #forkAt (I put my stuff into a BlockClosure
> instance), it has solved the problem, but is there a way in Squeak
> to do this automatically? Can I execute something in Workspace that
> is put automatically into a low priority thread?
Hi Peter,
One thing you can do if you do get stuck in an infinite loop is to
press alt-. (alt-period).* This will interrupt the currently
executing thread. Squeak will bring up a walkback window which you
can use as a debugger on the stopped thread, or just close to move on.
(I know this doesn't answer the question directly! You could make a
Workspace that forked things off without too much work, although
there isn't such a thing built in AFAIK. Check out #evaluateSelection
in ParagraphEditor to see where workspaces, etc., evaluate code. Of
course there are twisty parts: e.g., you'd then have to manage
stopping processes that ran too long, since they would still run in
the background and use up resources.)
Hope this helps,
Benjamin Schroeder
* At least I think this is right. For me, on Mac, it's command-
period, so I think it's alt-period on XP. It could be ctrl-period if
not.
More information about the Beginners
mailing list