[squeak-dev] Debugger Through slow

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Mon Jan 6 16:46:19 UTC 2020


Hi Marcel,

wow, this mail was *quite* old. Back in these days, I did not spend any thought about any of the refinements of context - today, I think this was a useless request.

Consider this simple example:
foo := { [self inform: #foo] }.
foo first value "Step through value"
Stepping over instead of through the latest message would have a different effect, even if the statement does not include a block.
Spoken generally, Through should not only "step into a block", but rather "step until the activated context's home equals the currently displayed context home" (just as #stepToHome: describes). Or would you have a different expectation?
Without exploring all pointers of thisContext (😱), I see no longer any feasible option in order to make sure that Through will impossibly reach a nested closure context. Maybe, we could scan thisContext method for any closures, but I have the impression that such kind of edge case optimization would rather lead us to a new source of errors ...
Actually, today I find it much more important to make sure that you can reliably use <cmd>dot to abort the stepping (and ideally, after that restart the context), without destroying your image. Investigating further details about Active Process, #runUntilErrorOrReturnFrom: and, most urgently, recursive error detection in debugger seem appropriate ways to achieve this.

Sorry for the ill-conceived question! :-)

Best,
Christoph
________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel
Gesendet: Montag, 6. Januar 2020 16:31:24
An: JOHN SARKELA via Squeak-dev
Betreff: Re: [squeak-dev] Debugger Through slow

> Can we speed up "Through" in any way? As the button is explained as "Step into a block", we could call #completeStep: internally if the selected message does not contain a block argument, for example.

Hmmm... sounds reasonable. Is it difficult to figure this out in the debugger via selected PC?

Best,
Marcel

Am 11.09.2019 13:55:20 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>:

Hi all,


take the following snippet, debug-it and press "Through":

SqueakMessageCategoriesHelp asHelpTopic.


For me, it makes the debugger hang really long time, as apparently the whole code execution is simulated, searching for the current context (#stepToHome:). "Over", in contrast, is faster by far, calling #completeStep: instead.

Can we speed up "Through" in any way? As the button is explained as "Step into a block", we could call #completeStep: internally if the selected message does not contain a block argument, for example.


Best,

Christoph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200106/5f964d85/attachment.html>


More information about the Squeak-dev mailing list