2010-11-10 13 views
2

Je sais qu'il existe des outils de débogage PHP disponibles, mais je suis curieux de faire quelque chose comme ça moi-même.Existe-t-il un moyen d'obtenir des données internes à partir de php?

Existe-t-il un moyen d'obtenir les données traitées par PHP à des fins de débogage? Par exemple, sans avoir à changer le code de mon application PHP, y a-t-il un moyen, quand j'exécute une fonction, de voir quelles variables existent dans cette fonction, qu'est-ce qu'on appelle cette fonction, quelle est la valeur de retour, etc.

La solution n'a pas spécifiquement n'a pas besoin d'être en PHP, à savoir ce qui pourrait être somethig qui est écrit en C etc

+0

Tout le monde a en quelque sorte raté le point où la première J'ai dit: "Je sais qu'il existe des outils de débogage PHP, mais je suis curieux de faire quelque chose comme ça." - De toute façon, merci pour vos commentaires – Tim

Répondre

0

Vous pouvez utiliser certaines fonctions introspectifs comme debug_backtrace, mais ceux-ci ne vous obtenez loin. Pour rassembler un type d'information, vous devrez vous connecter à PHP lui-même, ce que vous feriez très probablement avec une extension écrite en C. Je vous suggère de consulter l'un des débogueurs existants pour voir comment ils le font, par exemple xdebug.

1

Eh bien, mai je vous suggère d'ajouter firePHP à votre code. FirePHP a 2 composants, un composant côté serveur et un composant de navigateur pour firefox, il utilise l'addon firebug. Une fois installé correctement, vous pouvez faire des choses comme FB :: Log ($ variable) et vous verrez cette information à l'intérieur de la partie log de firebug, quand vous cliquez dessus, il montre la variable entière éclatée. De même, si vous installez le gestionnaire d'erreurs, lorsque vous obtenez une exception interceptée, vous pouvez voir la totalité de la trace de la pile de la façon dont cette exception a été invoquée.

Hautement recommandé.

1

essayer PHP module xdebug - http://xdebug.org/
u peut connecter les informations de débogage,
ou de sortie en HTML

changements pourraient nécessaire pour initier xdebug