I've been looking at a few things trying to improve the debugging
experience...
Zend Studio:
http://www.zend.com/store/products/zend-studio.php
Commercial IDE from the people who write PHP. No-cost 21-day trial,
available as personal-use crippleware after the trial expires. I don't
like the editor, but it does "real" debugging (breakpoints,
single-step, examine variables and the callstack etc). It can run
scripts via the CGI interface, or in theory hook up to a web server,
though I haven't figured out how to get that running.
I've found debugging in Zend Studio to be a lot easier to work with
than sticking in a hojillion extra debug assertions, even in the local
CGI mode. It has a "Profile URL..." command for the remote debugging,
but I haven't found a local profiling option. The online help is vague.
Advanced PHP debugger:
http://pecl.php.net/package/apd
Open source (PHP license). More of a profiler than a debugger, it
seems. May be more thorough than our current stack of
wfProfileIn()/wfProfileOut() calls...
I had some trouble installing it on my mac (had to change the
permissions to writable and run 'glibtoolize' manually between phpize
and configure). Quick demo output at
http://meta.wikipedia.org/wiki/Profiling
DBG:
http://dd.cron.ru/dbg/
The website for this confuses me utterly. It appears to be a debugging
module for PHP, which is either open source or some versions of it are
open source but not others, and there's a commercial IDE that it hooks
into and maybe you can use it without it too. Perhaps worth checking
out.
-- brion vibber (brion @
pobox.com)