[Seaside] Re: Re: The session in the debugger
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?
> 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:
1 / 0.
count := count + 1
Which will get you a walback. Click on debug. In the debuger evalutate
self session useSessionCookie
> > 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
More information about the Seaside