[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