Introduction
A Comprehensive Example
There are a lot of good examples and how-tos on Plone.org about debugging. This story will demonstrate how to use several different tools to debug in Plone. My fellow developers and integrators: if you've ever wondered, "Where IS that bug?" or "What's wrong with the data?"--This may be for you. (It is a true story, although some of the server names have been changed to protect the innocent.)
Server-Side Debugging
This tutorial addresses the mystery that we know as "server-side debugging." Therefore, this story will take place largely in a terminal window on the server.
This tutorial does not cover client-side debugging, including CSS issues and other things that are better suited to Firebug.
System Environment and Setup
Here are the specifics for the Plone/Zope installation used for this tutorial. If you try these steps on a different machine with a different configuration, Your Mileage May Vary.
- Centos 5 server
- Plone 3.1.4
- Zope 2.10.6-final
- python 2.4.5
- configured via buildout
- all files located under /var/Plone
The Major Components
We'll use several pieces of Plone and the operating system to debug the problem. These include:
- Zope running in the foreground
- the Python debugger (Pdb)
- source code editing with a text editor
- the command shell ("command prompt" in Windows)
