<div>Hey all,</div><div><br></div><div>At the recent PUN in Amsterdam I did a short session on tactics for debugging web apps in Python and Django, based on my personal experiences from working on <a href="http://SmartPR.nl/">http://SmartPR.nl/</a>. There was a lot of interesting input from the audience, which I would like to share with you all here:</div>

<div><ul><li>print or logging</li><li>the Python debugger (pdb) or its enhanced variant ipdb: <a href="http://pypi.python.org/pypi/ipdb/0.1dev-r1716">http://pypi.python.org/pypi/ipdb/0.1dev-r1716</a></li><li>django-debug-toolbar; a Django app providing a feedback bar overlaying your web app: <a href="http://github.com/robhudson/django-debug-toolbar">http://github.com/robhudson/django-debug-toolbar</a></li>

<li>Werkzeug&#39;s interactive debugger page: <a href="http://werkzeug.pocoo.org/documentation/0.5.1/debug.html">http://werkzeug.pocoo.org/documentation/0.5.1/debug.html</a>. django-command-extensions (another Django app) provides a test server with Werkzeug&#39;s debugger baked in: <a href="http://code.google.com/p/django-command-extensions/">http://code.google.com/p/django-command-extensions/</a></li>

<li>Winpdb is an interactive debugger with a GUI, which can be attached to a Python process. This means you can do live debugging on a web app that is running exactly like it would be running in production. I&#39;ve tried this approach myself last week and it works pretty neat. It might be a bit of a hassle to get Winpdb running, as it depends on wxPython, but on OS X I got it working pretty quickly using MacPorts. <a href="http://pypi.python.org/pypi/winpdb/1.3.8">http://pypi.python.org/pypi/winpdb/1.3.8</a></li>

<li>Pydev (Eclipse plugin): <a href="http://pydev.org/">http://pydev.org/</a></li><li>Then there were some tips for web app testing clients:</li><ul><li>Twill: <a href="http://pypi.python.org/pypi/twill/0.9">http://pypi.python.org/pypi/twill/0.9</a></li>

<li>zc.testbrowser: <a href="http://pypi.python.org/pypi/zc.testbrowser/1.0.0a5">http://pypi.python.org/pypi/zc.testbrowser/1.0.0a5</a></li><li>Selenium: <a href="http://seleniumhq.org/">http://seleniumhq.org/</a></li></ul>

</ul></div><div>To me the result of my lightning talk has already been extremely useful. I hope it will do the same for some other people.</div><div><br></div><div>Cheers,</div><div>Tim</div><div><br></div><br clear="all">

--<br><a href="http://timmolendijk.nl">http://timmolendijk.nl</a> • <a href="http://twitter.com/timmolendijk">http://twitter.com/timmolendijk</a><br>