Login  Register

Re: Aaaaaaarrrggg!!! Broken Image?

Posted by Blair McGlashan-3 on Feb 17, 2005; 9:58pm
URL: https://forum.world.st/Aaaaaaarrrggg-Broken-Image-tp3373131p3373147.html

"Fernando" <[hidden email]> wrote in message
news:[hidden email]...

> >This is almost certainly recoverable. Here are a few things to try
> (and in
>>this order):
>
>>1) Try a "panic" (the scream button on the system folder toolbar)
>>2) Debugger allInstances do: [:each | each view destroy]
>>3) Debugger allInstances do: [:each | Smalltalk developmentSystem
>>removeEventsTriggeredFor: each]
>>4) Open the Process Monitor, if any processes are listed as being in
> state
>>'debug', terminate them using the command on the context menu.
>
>
> Unfortunately, I already created a new image with the 'fresh install'
> option.
> It was some misbehaving debugger view?
>

Not misbehaving as such, but just hanging around when it should have gone
away. Debuggers observe method changes so that they can mark methods that
they might be running as "unbound" - this is make it obvious when code seen
in the debugger stack is out of date. The debugger's response to the change
event will fail in a partially closed debugger or one attached to a process
that has terminated or resumed execution.

>...When you modify a class that is a given
> package
> and save the image, is the package updated with the new version of the
> class?

No, not by default. Not everyone will necessarily agree with this, but we
view the image as a temporary workspace in which one makes changes. As one
progresses, one can save the image to preserve those changes and come back
to work on them again later - this is analagous to hibernating one'scomputer
with programs open in which one have made changes that have not been saved
down to files. At some point one may decide that one is happy with the work
to date and "commit" it by saving out the packages.

Remember the changes are preserved in the change log in any case - its like
an audit trail of what has been done, so one can almost always recover any
changes from there at any time. Before attempting any recovery first copy
off the apparently damaged image and supporting files (change log and
sources) just in case it is necessary to go back to them later.

>
> If not, is there a way to automate saving all user-defined packages?
> Right now, I
> only have 3 packages, so it's easy to remember saving them every now
> and then,
> but as soon as the number of packages increases...
>

As I say, we regard the saved package form as the more permanent
representation and consequently do not want the packages to be updated every
time we save the image. However there are some people with a different
viewpoint, and you may find they have written "goodies" that support such a
mode of working. It's not terribly difficult to do.

Regards

Blair