[Seaside-dev] Debugging in Seaside 3.0 (issue 340)

Julian Fitzell jfitzell at gmail.com
Sat Sep 19 07:50:27 UTC 2009


Hi Michael,

I'm in Belgium this weekend and using internet on a computer with a
wonky keyboard and no working quicktime. So... I'll get back to you on
this on Monday unless I find WIFI somewhere. :)

To clarify, though, I was hoping we could still have a debugger open
up in the browser, just in another tab or window (one using comet or
polling to notice it needed to). And why do you think we should get
rid of the exception handlers (or do you mean the debugging exception
handlers specifically?)

Julian

On 9/18/09, Michael Lucas-Smith <mlucas-smith at cincom.com> wrote:
> Hi All,
>
> I'd like to kick off a (hopefully) short discussion on the direction of
> walkbacks and debugging with Seaside 3.0.
>
> There is an open issue for debugging and walkbacks, issue 340 (
> http://code.google.com/p/seaside/issues/detail?id=340 )
> which points out that the new way exception handling works and continuations
> work basically means showing a walkback, let alone debugging, is pretty much
> impossible in the way it was done in Seaside 2.8.
>
> You cannot render during an action, so any walkback during an action cannot
> be reported to the user without great difficulty. You can render during the
> render phase, but this often leads to a mess.
>
> Julian and I had a chat at ESUG about a potential solution to debugging and
> walkbacks in Seaside 3.0. Specifically the debugging - instead of trying to
> provide a debugging solution in the web browser, we let the development
> environment handle it as per normal. This means you'll get a debugger pop up
> in the GUI. It means that in production, instead of a walkback, users get an
> Internal Server Error of some kind.
>
> So how do we debug then? We have a separate Seaside request showing a list
> of debuggable processes, which you can refresh (and probably should refresh
> itself either via comet or polling) which you can click on to see a
> walkback, terminate, debug, etc.
>
> The question was posed: could this be done and could it be portable?
>
> Tamara Kogan has twisted the WebVelocity web debugger about until it is
> demonstrable, so here is the video:
> http://dl.getdropbox.com/u/20291/Cincom%20Smalltalk/Seaside-20090918-Debugging.mov
>
> The bad news: Every Smalltalk I looked at handles how the debugger is opened
> and how you debug a process completely differently. So while the technique
> is something that can be shared around the smalltalks, the code itself
> pretty much can't be.
>
> Recommendations:
>   1) An official "technique" could be published somewhere, on the seaside
> wiki perhaps, on how to implement debugging in Seaside for each
> implementation.
>   2) The WAExceptionHandler* classes can be removed to dissuade people from
> expecting a way to do this reasonably.
>
> What do people think about this?
>
> Cheers,
> Michael
> _______________________________________________
> seaside-dev mailing list
> seaside-dev at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev
>


More information about the seaside-dev mailing list