I. Advanced PHP debugger

Introduction

How to use PHP-APD in your scripts

In your PHP script, add the following line:

apd_set_session_trace(9);

Now run your script.

The dump output will be writting to:

<apd.dumpdir>/apd_dump_<pid>

The output itself will look something like:

16:37:51(george@wasabi)[~/src/apd]> 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
---------------------------------------------------------------------------

Table of Contents
apd_callstack -- Returns the current call stack as an array.
apd_clunk -- Throw a warning and a callstack.
apd_croak -- Throw an error, a callstack and then exit.
apd_dump_regular_resources -- Return all current regular resources as an array.
apd_dump_persistent_resources -- Return all persistent resources as an array.
apd_dump_function_table -- Outputs the current function table.
override_function -- Overrides built-in functions.
rename_function -- Renames orig_name to new_name in the global function_table.
apd_set_session_trace -- Starts the session debugging.
apd_set_socket_session_trace -- Starts the remote session debugging.
apd_set_session -- Changes or sets the current debugging level.
apd_breakpoint -- Stops the interpreter and waits on a CR from the socket
apd_continue -- Restarts the interpreter
apd_echo -- echo to the debugging socket
apd_get_active_symbols -- get an array of the current variables names in the local scope