You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
krakjoe 690a3202fd escaped strings 13 years ago
tutorials update image 13 years ago
.gdbinit - Added .gdbinit 13 years ago
.gitignore - Added initial code for a simple prompt 13 years ago
.phpdbginit tidy example 13 years ago
Changelog.md - Update changelog 13 years ago
Makefile.frag force clean build every time, no room for error 13 years ago
README.md ... 13 years ago
config.m4 - Clean up command macros 13 years ago
config.w32 fix window size on windows 13 years ago
phpdbg.c include registered functions in help for register command 13 years ago
phpdbg.h tidy up reading input, avoid leaks, restore sanity 13 years ago
phpdbg_bp.c changes to info 13 years ago
phpdbg_bp.h support conditional breakpoints 13 years ago
phpdbg_break.c stat before setting breakpoints on files 13 years ago
phpdbg_break.h - WS 13 years ago
phpdbg_cmd.c escaped strings 13 years ago
phpdbg_cmd.h argc/argv started 13 years ago
phpdbg_help.c include registered functions in help for register command 13 years ago
phpdbg_help.h ... 13 years ago
phpdbg_info.c add resource type to info 13 years ago
phpdbg_info.h - Clean up command macros 13 years ago
phpdbg_list.c - Fix valgrind reports + CS 13 years ago
phpdbg_list.h - Clean up command macros 13 years ago
phpdbg_opcode.c implement 5.4 support 13 years ago
phpdbg_opcode.h - Added separated file to opcode decode function 13 years ago
phpdbg_print.c correction to print stack 13 years ago
phpdbg_print.h add stack printer 13 years ago
phpdbg_prompt.c argc/argv started 13 years ago
phpdbg_prompt.h tidy up reading input, avoid leaks, restore sanity 13 years ago
phpdbg_utils.c fix windows build 13 years ago
phpdbg_utils.h move phpdbg_param_t to phpdbg.c|h 13 years ago
test.php add resource type to info 13 years ago
web-bootstrap.php update bootstrap 13 years ago

README.md

The interactive PHP debugger

Implemented as a SAPI module, phpdbg can excerpt complete control over the environment without impacting the functionality or performance of your code.

phpdbg aims to be a lightweight, powerful, easy to use debugging platform for PHP5.4+

Features

  • Stepthrough Debugging
  • Flexible Breakpoints (Class Method, Function, File:Line, Address)
  • Easy Access to PHP with built-in eval()
  • Easy Access to Currently Executing Code
  • Userland API
  • SAPI Agnostic - Easily Integrated
  • PHP Configuration File Support
  • JIT Super Globals - Set Your Own !!
  • Optional readline Support - Comfortable Terminal Operation
  • Easy Operation - See Help :)

Planned

  • Improve Everything :)

Installation

To install phpdbg, you must compile the source against your PHP installation sources, and enable the SAPI with the configure command.

cd /usr/src/php-src/sapi
git clone https://github.com/krakjoe/phpdbg
cd ../
./buildconf --force
./config.nice
make -j8
make install-phpdbg

Note: php must be configured with the switch --with-readline for phpdbg to support history, autocompletion, tab-listing etc

Command Line Options

The following switchess are implemented (just like cli SAPI):

  • -n ignore php ini
  • -c search for php ini in path
  • -z load zend extension
  • -d define php ini entry

The following switches change the default behaviour of phpdbg:

  • -v disables quietness
  • -s enabled stepping
  • -e sets execution context
  • -b boring - disables use of colour on the console
  • -I ignore .phpdbginit (default init file)
  • -i override .phpgdbinit location (implies -I)
  • -O set oplog output file

Screeny

screenshot

Getting Started

See the tutorials for help getting started with phpdbg: https://github.com/krakjoe/phpdbg/blob/master/tutorials/intro.md