[Seaside] Re: Re: The session in the debugger

Philippe Marschall philippe.marschall at gmail.com
Mon Feb 5 16:31:23 UTC 2007


2007/2/5, Klaus D. Witzel <klaus.witzel at cobss.com>:
> On Mon, 05 Feb 2007 10:10:00 +0100, Philippe Marschall wrote:
> > 2007/2/4, Klaus D. Witzel:
> >> On Sun, 04 Feb 2007 19:19:00 +0100, Philippe Marschall wrote:
> >> > Hi
> >> >
> >> > One of the most annoying things about Seaside for me is that you can't
> >> > access the session in the debugger. Often when debugging code that
> >> > needs to access some session data I find myself writing code like
> >> > this:
> >> >
> >> > aBuggedMethod
> >> >     "some code"
> >> >     session := self session.
> >> >     self halt.
> >> >     "more code"
> >> >
> >> > and then restarting the method. I am sick of it. This just sucks. So
> >> > recently I meant someone with too much time who would like to make a
> >> > valuable contribution to Seaside. I told him about this and he said he
> >> > would do it if I find at least 5 people to whom it is important.
> >>
> >> Counting someone at our table in Bern plus /my, you've found five
> >> people :)
> >>
> >> Attached is a .cs which shows (self session) in the debugger (same place
> >> as in Michel's VW solution) only if (aContext receiver respondsTo:
> >> #session). #session seems not to be implemented in the stock image. When
> >> the session item is selected it can be inspected but update with #accept
> >> does not update.
> >>
> >> > Personally I don't care how ugly the solution is as long as Seaside
> >> > still works. It doesn't have to be a general solutions. It can be a
> >> > very evil changeset that causes famine, plague, small pocks and
> >> > shortens life by 10 years. That desperately I want it.
> >>
> >> Tested it on 3.7/8/9, let me know how it works.
> >
> > Yes there is a session variable in the debugger but it is nil. That is
> > not what I meant. What I want is being able to do:
> >
> > self session
> >
> > in the debugger and it returns the session instead of nil.
>
> The debugger sends (aContext receiver) session, which is all it can. Of
> course the debugger's stack is not the same as aContext's stack, this can
> be the cause of nil.
>
> > Sorry for not being more clear.
>
> NP. Does (self session) in the debugger's left pane (where the ivars are)
> return the object that you want?

No

> If not so, then I'll have to dig deeper
> and find where the stack is switched or else manually traverse aContext
> sender, or so.
>
> Anyways I'll try to reproduce this with the most recent Seaside-dev image.
> Which method in that image would be best for provoking this situation? TIA.

A simple example would be to change #increase in the WACounter to:

increase
	1 / 0.
	count := count + 1

Which will get you a walback. Click on debug. In the debuger evalutate
code like:

self session useSessionCookie

Philippe

> /Klaus
>
> > Philippe
> >
> >> If someone needs the name emphasized in the debugger, please post how
> >> you'd like to have it.
> >>
> >> /Klaus
> >>
> >> > If you feel the same way raise your hand now.
> >> >
> >> > Cheers
> >> > Philippe
> >>
> >> _______________________________________________
> >> Seaside mailing list
> >> Seaside at lists.squeakfoundation.org
> >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >>
> >>
> >>
> >>
>
>
> _______________________________________________
> Seaside mailing list
> Seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>


More information about the Seaside mailing list