Question

Cela fait un moment que j'utilise xdebug pour déboguer et comprendre le code dans les projets php, et je suis parfois tombé dans des situations dans lesquelles on ne savait pas ce qui se passait à l'intérieur de PHP.

Est-il possible de définir xdebug ou gdb afin que je puisse retracer les fonctions intégrées php réelles?

Était-ce utile?

La solution

Si vous utilisez un système Macosx, Solaris ou FreeBSD récent, vous pouvez lui jeter un peu de trace. Cela peut être utile pour ceux qui sont trop nombreux "WTF est-ce que PHP est en train de faire?" des moments.

Autres conseils

J'en doute, xdebug est destiné à tracer votre code PHP, pas les éléments internes. Les internes sont supposés être exempts de bugs (ce qui n’est évidemment pas parfois le cas, mais cela dépasse le cadre de xdebug).

Vous pouvez toujours consulter la source PHP si vous voulez savoir ce que font les fonctions intégrées, mais c'est parfois très compliqué. La documentation manuelle de PHP m’a toujours bien servi quand je veux savoir ce qu’ils vont faire.

Vous pouvez utiliser gdb pour retrouver le code de niveau C, à condition que php soit compilé avec les symboles de débogage. Regardez ici pour un début:

http://derickrethans.nl/phps_segmentation_faults_gdbfu.php

Une façon de tester la sortie du moteur Zend, pour regarder à l'intérieur des opcodes, vous pouvez utiliser Le VLD de Derick Rethan (dissemblateur de logique Vulcan) , qui semble également se trouver sur PECL . Remarque: ne fonctionne que sur les systèmes * nix (voir les conditions requises sur le site).

Vous trouverez quelques exemples de débogage de ces codes d'opération sur Le blog de Sara Golemon , dans des articles tels que Comprendre les opcodes et Comment de temps est un morceau de ficelle? .

Il existe également une excellente extension Google Chrome Console PHP avec bibliothèque php permettant de:

  • Voir les erreurs & amp; exception dans la console JavaScript Chrome & amp; dans les popups de notification.
  • Dépose n'importe quelle variable de type.
  • Exécuter le code PHP à distance.
  • Protéger l'accès par mot de passe.
  • La console de groupe se connecte par demande.
  • Aller au fichier d'erreur: ligne dans votre éditeur de texte.
  • Copier les données d'erreur / de débogage dans le presse-papiers (pour les testeurs).

Recommandez à tous!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top