Re:What a good debugger can do
by igouy on Saturday March 11, 2023 @12:57PM
(#35110795)
afaik Smalltalk implementations usually provide step backwards but don't "run backwards".
"The stack of (framed) execution contexts gives a history of the computation so far. You can select any frame, view instance values in the receiver, view the arguments and method variables at that point."
So step backwards, modify a method, step backwards before that method send, and resume execution with the modified method. (Note: resume rather than restart, so the the modified method has the preserved context unless we manually edit that context.)
"The stack of (framed) execution contexts gives a history of the computation so far. You can select any frame, view instance values in the receiver, view the arguments and method variables at that point."
So step backwards, modify a method, step backwards before that method send, and resume execution with the modified method. (Note: resume rather than restart, so the the modified method has the preserved context unless we manually edit that context.)