XDebug : analyse de code PHP
Il faut le configurer dans le fichier /etc/php5/conf.d/xdebug.ini :
; Active le debug xdebug.auto_trace=On ; Dans le repertoire /tmp xdebug.trace_output_dir=/tmp ; Affiche pour chaque traitement de fonction la charge memoire par rapport a la ; ligne de debug precedente xdebug.show_mem_delta=On ; Affiche les parametres avec leurs valeurs pour chaque fonction xdebug.collect_params=3 ; Affiche la valeur du code de retour pour chaque fonction xdebug.collect_return=On ; Le fichier de log s'appelle trace.1010979674.xt ; %c : CRC, %p for the process id, %r for a random number, %u for a timstamp with ; microseconds, %H the $_SERVER['HTTP_HOST'], %R the $_SERVER['REQUEST_URI'] xdebug.trace_output_name=trace.%c
Cette configuration trace les appels à fonctions avec les paramètres passés et les codes de retour. Cela affiche aussi le volume de mémoire occupé.
Exemple de code de sortie :
TRACE START [2008-12-20 16:07:37] 0.0002 106600 +106600 -> {main}() /home/fournier/test.php:0 0.0003 106832 +232 -> f1(10) /home/fournier/test.php:11 >=> 9 0.0003 107160 +328 -> f1(9) /home/fournier/test.php:11 >=> 8 0.0003 107160 +0 -> f1(8) /home/fournier/test.php:11 >=> 7 0.0004 107160 +0 -> f1(7) /home/fournier/test.php:11 >=> 6 0.0004 107160 +0 -> f1(6) /home/fournier/test.php:11 >=> 5 0.0004 107160 +0 -> f1(5) /home/fournier/test.php:11 >=> 4 0.0005 107160 +0 -> f1(4) /home/fournier/test.php:11 >=> 3 0.0005 107160 +0 -> f1(3) /home/fournier/test.php:11 >=> 2 0.0005 107160 +0 -> f1(2) /home/fournier/test.php:11 >=> 1 0.0005 107160 +0 -> f1(1) /home/fournier/test.php:11 >=> 0 0.0005 107160 +0 -> f1(0) /home/fournier/test.php:11 0.0006 56352 TRACE END [2008-12-20 16:07:37]