Введение

Поскольку phpdbg реализован в виде модуля SAPI, то он может полностью контролировать окружение без воздействие на функциональность и скорость выполнения вашего кода.

Phpdbg претендует на то, чтобы считаться легковесным, мощным и простым в использовании отладчиком для PHP. Он предоставляет следующие возможности:

  • Пошаговая отладка
  • Гибкие точки прерывания (метод класса, функция, строка файла, адрес, опкод)
  • Легкий доступ к PHP с помощью встроенной функции eval()
  • Пользовательское API
  • Независимость от SAPI - легко интегрируется
  • Поддержка конфигурационных файлов PHP
  • Определение собственных суперглобальных переменных JIT
  • Опциональная поддержка ввода с клавиатуры - удобная работа через терминал
  • Легок в использовании - читайте документацию :)

Опции командной строки
Опция Пример аргумента Описание
-c -c/my/php.ini Указывает php.ini, который надо загрузить
-d -dmemory_limit=4G Установка соответствующей директивы php.ini
-n   Запрет использования стандартного php.ini
-q   Не показывать приветственный баннер
-v   Разрешить вывод oplog
-b   Запретить использование цветов
-i -imy.init Задать файл .phpdbginit
-I   Игнорировать стандартный .phpdbginit
-O -Omy.oplog Задать файл для записи oplog
-r   Запустить контекст исполнения
-rr   Запустить контекст исполнения и выйти после запуска (не обращать внимание на точки останова)
-e   Генерировать расширенную информацию для отладчика/профилировщика
-E   Разрешить пошаговый eval. Будьте осторожны!
-s -s=, -s=foo Прочитать код для исполнения из стандартного потока ввода с опциональным разделителем
-S -Scli Переопределить имя SAPI. Будьте осторожны!
   

-l -l4000 Задать порт удаленной консоли
-a -a192.168.0.3 Задать адрес удаленной консоли
-x   Включить вывод в формате xml (вместо стандартного текстового)
-p -p, -p=func, -p* Вывести опкоды и выйти
-h   Вывести справочный раздел
-V   Напечатать номер версии
-- -- arg1 arg2 Используется для разделения аргументов phpdbg и php $argv; любые $argv добавляйте после него