[ENH] Enhanced Debugging Experience (first shot)

Hans-Martin Mosner hmm at heeg.de
Fri Jul 20 08:17:26 UTC 2001


Andres Valloud wrote:
> 
> Hello.
> 
> > 3. Fast step method executes the message using perform:, not by
> > simulation. Mucho mucho quicker!
> 
> Ah, but this will break one of my favorite surgical tools! For instance,
> suppose you have a broken image in which an object's class has become,
> say, String new. Such object can't perform anything because the VM will
> barf when it doesn't find aMethodDictionary in the object's header.
> 
> How can you find such objects when the moment you send them any message
> the VM crashes? By scanning the image in the interpreting debugger ---
> you can send messages by interpreting them since a failure in the
> smalltalk interpreter will be an exception, not a complete failure of
> the virtual machine.  Eventually, the interpretation will fail at a
> certain object. By looking at an inspector, now you know which one is it
> at least by name.

Don't despair!
The old Context>>step method is still there, and it's working as before. I've just implemented a quickStep method which essentially shortcuts the send mechanism to do a #perform. This is currently only used in the debugger #doStep method, so your interpretation will not break.

Cheers,
Hans-Martin




More information about the Squeak-dev mailing list