Hi all,

I would be cautious with adding such a feature since it would be likely to overflow you with redundant debuggers when you are stepping "through" some very complex operation. Still, I see your need for such a feature and thank this might be a nice extra feature, maybe as an opt-in or when combined with some clever heuristics.

On the implementation side, detecting the resumption of a process during simulating is pretty easy. See SimulationSideEffectWarning [1] which prepares the simulator for reacting to these events conveniently from the debugger. Maybe I should revise and merge this one soon. :-)


[1] http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-May/215469.html

Sent from Squeak Inbox Talk

On 2022-01-22T19:48:24-06:00, asqueaker@gmail.com wrote:

> > Dear Squeakers,
> >
> > I was just asking myself, why we cannot debug process forking like this:
> >
> > 0. In the Debugger: [ self doSomething ] "--> next send" fork. nextStatement.
> > 1. Press the Through button.
> > 2. The debugger stops at the next step after the send of #fork: [ self
> > doSomething ] fork. "-->" nextStatement.
> > 3. A second full debugger opens on the new (and now suspended)
> > process: [ self "-->" doSomething ] fork. nextStatement.
> I would love that!