Отладка PHP - PullRequest
       26

Отладка PHP

3 голосов
/ 02 мая 2009

Я уже некоторое время использую xdebug для отладки и понимания кода в проектах php, и иногда возникали ситуации, когда неясно, что происходит внутри PHP.

Можно ли настроить xdebug или gdb так, чтобы я мог отслеживать реальные встроенные функции php?

Ответы [ 5 ]

2 голосов
/ 02 мая 2009

Если вы используете macosx, solaris или недавнюю систему freebsd, вы можете добавить немного dtrace. Это может пригодиться тем, кто слишком многочислен: "WTF делает PHP?" моменты.

1 голос
/ 30 ноября 2013

Существует также большое расширение Google Chrome PHP Console с php library , которое позволяет:

  • См. Ошибки и исключения в консоли Chrome JavaScript и во всплывающих уведомлениях.
  • Дамп любой переменной типа.
  • Удаленное выполнение кода PHP.
  • Защита доступа паролем.
  • Групповые журналы консоли по запросу.
  • Перейти к файлу ошибки: строка в текстовом редакторе.
  • Копирование данных об ошибках / отладке в буфер обмена (для тестеров).

Рекомендую всем!

1 голос
/ 03 мая 2009

Один из способов проверить выход двигателя Zend, чтобы заглянуть внутрь кодов операций, можно использовать VLD Дерика Ретана (Vulcan Logic Dissasembler) , который также выглядит на PECL . Примечание: работает только на * nix системах (требования см. На сайте).

Некоторые примеры отладки этих кодов операций можно найти в блоге Сары Големон , в таких статьях, как Понимание кодов операций и Как долго это кусок строки? .

1 голос
/ 02 мая 2009

Вы можете использовать gdb для отслеживания кода уровня C, если у вас есть php, скомпилированный с символами отладки. Посмотрите здесь для начала:

http://derickrethans.nl/phps_segmentation_faults_gdbfu.php

1 голос
/ 02 мая 2009

Сомневаюсь, xdebug предназначен для отслеживания вашего PHP-кода, а не внутренних компонентов. Предполагается, что внутренние компоненты не содержат ошибок (что, очевидно, иногда не так, но это выходит за рамки xdebug).

Вы всегда можете посмотреть на исходный код PHP, если хотите знать, что делают встроенные функции, но это иногда довольно сложно. Руководства по PHP всегда хорошо мне помогали, когда я хочу знать, что они будут делать.

...