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]
