Hi,
I'm working with DebugSession to see if I can implement something that
would step into an execution until a given expression evaluates to a
different value than the value it had at the beginning to quickly
localise the precise point where an invariant is broken.
But it appears that if the expression always evaluate to the same
value, then the VM freezes.
I simplified my program to just stepInto a debugSession indefinitely,
and it makes the VM freeze, while I would rather expect an exception
to be raised (something like "ReachedEndOfExecution").
Here is my example code. Beware, running it will freeze the VM.
| program process context debugSession |
program := [1+2].
process := program newProcess.
context := process suspendedContext.
debugSession := process newDebugSessionNamed: 'StepIntoForever'
startedAt: context.
[ true ] whileTrue: [ debugSession stepInto ].
Is there a way to have an exception be raised when a stepInto message
is sent to a debugSession whose execution is finished, instead of just
freezing the VM?
Thomas