[Stackless] advice on debugging stackless

Richard Tew richard.m.tew at gmail.com
Sun Feb 17 04:50:31 CET 2008


On Feb 16, 2008 12:23 PM, Simon Pickles <sipickles at hotmail.com> wrote:
> Most of my problems tend to be based around channels being blocked or by
> tasklets not seeming to kick in.
>
> I've a heavily event based system going on, so I suspect these problems
> are caused by circular events.
>
> Has anyone any advice on debugging stackless python?

Write introspection tools which allow browsing the live state of your
framework?  The EVE framework for instance has had a web server built
in it from day one (written in Python based on Stackless compatible
sockets of course).  And web pages have been used for anything and
everything, including introspection.

I don't see any reason you shouldn't be able to go to a web page and
view all the channels which currently exist.  Perhaps drill down to
the channels which serve a certain purpose, and then order them by the
time of the last activity.  Similarly for tasklets.  These of course
are only simple usages of introspection.  You should be able to come
up with something more suitable for your use of channels and tasklets.

Given that you embed Stackless into your application and build some
kind of framework on top of that, debuggers which support Stackless
probably will not work with it.  Ignoring the fact of course that
there is only Wingware, as far as I know, in terms of tools with
debugging support for Stackless.  So you might experiment with
adapting some appealing debugger to work with your framework, given
that you make the modifications necessary to make that debugger aware
of tasklets.

Cheers,
Richard.




More information about the Stackless mailing list