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 1fb67f1eda fix #36 add more info to conditional breakpoint output 13 years ago
tutorials break at image 13 years ago
.gdbinit - Added .gdbinit 13 years ago
.gitignore ... 13 years ago
.phpdbginit consistent in ___ for info/print 13 years ago
Changelog.md update cl 13 years ago
Makefile.frag support shared build on unix 13 years ago
README.md update docs etc 13 years ago
config.m4 Merge branch 'master' of https://github.com/krakjoe/phpdbg 13 years ago
config.w32 fix windows build 13 years ago
phpdbg.c fix loading of zend_extensions from command line arguments 13 years ago
phpdbg.h update version 13 years ago
phpdbg.init.d ws 13 years ago
phpdbg_bp.c fix #36 add more info to conditional breakpoint output 13 years ago
phpdbg_bp.h extended conditional breakpoints 13 years ago
phpdbg_break.c extended conditional breakpoints 13 years ago
phpdbg_break.h extended conditional breakpoints 13 years ago
phpdbg_cmd.c fix #36 add more info to conditional breakpoint output 13 years ago
phpdbg_cmd.h fix #36 add more info to conditional breakpoint output 13 years ago
phpdbg_help.c extended conditional breakpoints 13 years ago
phpdbg_help.h Enormous whitespace fix 13 years ago
phpdbg_info.c add info memory 13 years ago
phpdbg_info.h add info memory 13 years ago
phpdbg_list.c Enormous whitespace fix 13 years ago
phpdbg_list.h Enormous whitespace fix 13 years ago
phpdbg_opcode.c Enormous whitespace fix 13 years ago
phpdbg_opcode.h housekeeping, moving stuff to appropriate units 13 years ago
phpdbg_print.c Enormous whitespace fix 13 years ago
phpdbg_print.h add stack printer 13 years ago
phpdbg_prompt.c add info memory 13 years ago
phpdbg_prompt.h Breakpoints are now persistent over cleans 13 years ago
phpdbg_set.c Merge branch 'master' of https://github.com/krakjoe/phpdbg 13 years ago
phpdbg_set.h added set break [id] <on|off> 13 years ago
phpdbg_utils.c Merge branch 'master' of https://github.com/krakjoe/phpdbg 13 years ago
phpdbg_utils.h phpdbg_rlog for logging while in remote mode (only) 13 years ago
test.php consistent in ___ for info/print 13 years ago
web-bootstrap.php update bootstrap 13 years ago

README.md

The interactive PHP debugger

Implemented as a SAPI module, phpdbg can excert 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, Opcode)
  • 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
  • Remote Debugging Support - Bundled Java GUI
  • 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 switches 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
  • -q do not print banner on startup
  • -r jump straight to run
  • -E enable step through eval()
  • -l listen ports for remote mode
  • -a listen address for remote mode
  • -S override SAPI name

Note: passing -rr will cause phpdbg to quit after execution, rather than returning to the console

Screeny

screenshot

Getting Started

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