Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

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

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

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

http://derickrethans.nl/phps_segmentation_faults_gdbfu.php

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

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

Существует также отличное расширение для Google Chrome Консоль PHP с библиотека php это позволяет:

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top