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


Reply via email to