On 11 September 2012 15:09, Ben Coman <[email protected]> wrote: > > One thing I remember from 25 years ago using Turbo Pascal is having an > "Expression Watcher" pane, where expressions could be defined that were > evaluated after each debugging step. With this you could drill down to a > particular interesting part of a data structure to observe how it changes > with time. I am reminded of this since just now, since I am finding each > time I rerun a test script and the debugger opens up at my 'halt' point, I > am repetitively having to 'inspect' from a root object through several > levels of components to compare the components of interest - before > continuing to step the code watching how these component values change in > relation to each other. > > For example if variable1 holds an OrderedCollection of five morphs and I > want to watch the 'bounds' of all five elements simultaneously as they > update at each debugging step - currently each time after the debugger opens > I have to inspect variable1, then Inspect each of the elements, the select > the 'bounds' instance variable in each Inspector window, then shrink the > size each inspector so that they don't obscure the screen, which is fairly > tedious to do each time. Further, with 'bounds' matching an instance > variable this is at least possible - once this is set up I can watch the > 'bounds' value change with each debug step. However if I want to observe how > the 'extent' of each morph changes with each debug step I am out of luck. > With my current knowledge, I would need to manually execute 'self extent' in > each of the five Inspectors after each debug step, > > It would be good if there were some way for expressions to be defined which > persist through debugger invocations that at each debug step are evaluated > on the instance variables available in the debugger at that time. > For the example above this might be defined of the form... <'label'> > <expression> <'extent1'> <(variable1 asArray at: 1) extent> <'extent2'> > <(variable1 asArray at: 2) extent> > <'extent3'> <(variable1 asArray at: 3) extent> > <'extent4'> <(variable1 asArray at: 4) extent> > <'extent5'> <(variable1 asArray at: 5) extent> >
i don't think it worth spending time on implementing such complex definitions.. as to me, being able to simple re-evaluate and expression sent to some object(s) (and print its result , of course) at every debug step will be just enough. > Is there currently any way to do this, or would others find something like > this a useful feature ? > > cheers -ben > -- Best regards, Igor Stasenko.
