Advanced PHP debugger
APD
&reftitle.intro;
APD is the Advanced PHP Debugger. It was written to provide strace/truss
capability for profiling and debugging php code, as well as providing the
ability to print out a full stack backtrace. APD does supports
interactive and non interactive debugging, by default it writes data to
trace files. APD provides event based logging, so that varying levels of
information (including function calls, arguments passed, timings, etc.)
can be turned on or off for individual scripts.
APD is a Zend Extension, modifying the way the internals of PHP handle
function calls, and thus may or may not be compatible with other Zend
Extensions (for example Zend Optimizer).
&reference.apd.configure;
How to use PHP-APD in your scripts
In your PHP script, add the following line:
Now run your script.
The dump output will be writing to:
/apd_dump_
]]>
The output itself will look something like:
cat /tmp/apd_dump_31994
APD - Advanced PHP Debugger Trace File
---------------------------------------------------------------------------
Process Pid (31994)
Trace Begun at Fri Aug 10 16:37:45 2001
---------------------------------------------------------------------------
( 0.000000): apd_set_session_trace called at somewhere
( 0.001482): apd_set_session_trace() returned. Elapsed (997475865.364909)
( 0.001563): getcwd() /opt/apache/htdocs/a.php:4
( 0.001628): getcwd() returned. Elapsed (0.000065)
( 0.001819): require() /opt/apache/htdocs/a.php:6
++ argv[0] $(??) = /tmp/a.php
( 0.002231): getcwd() /tmp/a.php:3
( 0.002290): getcwd() returned. Elapsed (0.000059)
( 0.002375): include_once() /tmp/a.php:4
++ argv[0] $(??) = /tmp/aa.php
( 0.003276): include_once() returned. Elapsed (0.000901)
( 0.003334): require() returned. Elapsed (0.001515)
( 0.003381): require_once() /opt/apache/htdocs/a.php:7
++ argv[0] $(??) = /tmp/aa.php
( 0.003515): require_once() returned. Elapsed (0.000134)
( 0.003564): include() /opt/apache/htdocs/a.php:8
++ argv[0] $(??) = /tmp/b.php
( 0.003792): include() returned. Elapsed (0.000228)
( 0.018341): RSHUTDOWN called - end of trace
---------------------------------------------------------------------------
Process Pid (31994)
Trace Ended at Fri Aug 10 16:37:45 2001
---------------------------------------------------------------------------
]]>
&reference.apd.functions;