Andrei I will integrate the Spec Widget Changes now.
Then I played with the debugger with vanessa and we got a bit lost because the 
text selection does not show 
where is the expression currently with over or into.

At one point we got to new process and it blocked also everything.

So after restarting in a new image we tried run to here and we were confused :)

do: aBlock 
        "Refer to the comment in Collection|do:."
        1 to: self size do:
                [:index | aBlock value: (self at: index)]

I put the cursor in the block before aBlock and clicked on Run to Here but 
nothing happened

Thanks for your effort this is really important.

Stef

On Jan 28, 2013, at 7:34 PM, Andrei Vasile Chis wrote:

> First load the model:
> Gofer new
>     url: 'http://ss3.gemstone.com/ss/DebuggerModel';
>     package: 'ConfigurationOfDebuggerModel';
>     load.
> (Smalltalk at: #ConfigurationOfDebuggerModel) loadDefault.
> 
> Second from the spec repo from ss3 (http://ss3.gemstone.com/ss/Spec) merge
> the commit Spec-Widgets-AndreiChis.71 into the image and then load the package
> Spec-Debugger and you are done.
> 
> Now the previous examples should work.
> Also in the pre-debug you may choose to open the spec debugger.
> Right  now the spec interface hasn't got that many features, just the basic 
> actions.
> ( also in order to see the current selection in the code pane you need to 
> move the
> mouse over the code pane).
> 
> The one in glamour is more advance, but for now glamour does not 
> load happily into pharo 2.0
> 
> Andrei
> 
> 
> 
> 
> 
> On Mon, Jan 28, 2013 at 11:12 PM, Stéphane Ducasse 
> <stephane.duca...@inria.fr> wrote:
> Yes I do :)
> So cool.
> 
> Stef
> 
> On Jan 28, 2013, at 6:15 PM, Andrei Vasile Chis wrote:
> 
> > Hi all,
> >
> > As I'm playing with the debugger I thought I'll share with you a nice
> > feature the current model supports: scripting the actions
> >
> > In the current version the following code is a rather complicated
> > way of opening a debugger for the code  '#(1 2 3 4 5) do: [:each | each 
> > asString ]'
> >
> > [       |process|
> >         process := Processor activeProcess.
> >       UIManager default defer: [ |debugger session|
> >               session := SpecDebugger spanNewSessionForProcess: process. 
> > "create the model"
> >               session errorWasInUIProcess: false.
> >
> >                 debugger := SpecDebugger debugSession: session. "open the 
> > debugger"].
> >         process suspend.
> >
> >         "The previous lines open a debugger for this code"
> >         #(1 2 3 4 5) do: [:each | each asString ]
> > ] fork.
> >
> > However, the nice thing about the code above is that as the model is 
> > completely
> > separated from the ui, the model can be used to script some actions 
> > (stepInto, stepThrough, etc)
> > before or after opening the debugger. So in the code bellow using one of 
> > the two
> > commented blocks of code, one execute some actions before or after opening 
> > the debugger.
> >
> > [       |process|
> >         process := Processor activeProcess.
> >       UIManager default defer: [ |debugger session|
> >               session := SpecDebugger spanNewSessionForProcess: process. 
> > "create the model"
> >               session errorWasInUIProcess: false.
> >
> >                 "session
> >                       stepInto;
> >                       stepThrough;
> >                       stepThrough;
> >                       stepThrough;
> >                       stepThrough;
> >                       stepOver;
> >                       stepInto."
> >
> >                 debugger := SpecDebugger debugSession: session. "open the 
> > debugger"
> >
> >                 "debugger session
> >                       confirm: 'Step Into';
> >                       stepInto;
> >                       confirm: '4 * Step Through';
> >                       stepThrough;
> >                       stepThrough;
> >                       stepThrough;
> >                       stepThrough;
> >                       confirm: 'Step Over';
> >                       stepOver;
> >                       confirm: 'Step Into';
> >                       stepInto." ].
> >         process suspend.
> >
> >         "The previous lines open a debugger for this code"
> >         #(1 2 3 4 5) do: [:each | each asString ]
> > ] fork.
> >
> > Also the same model can be used with multiple ui's or the same ui can be 
> > reused with different models.
> > Right now this works in Pharo 2.0, but there isn't a configuration for 
> > loading it; if someone really wants to
> > try it I can provide instructions of how to load the code.
> >
> > Cheers,
> > Andrei
> 
> 
> 


Reply via email to