Outils pour utilisateurs

Outils du site


perl:le_debugger

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
perl:le_debugger [2009/03/15 01:01] rootperl:le_debugger [2013/03/13 11:06] (Version actuelle) root
Ligne 1: Ligne 1:
 +====== Le debugger ======
 +
 ====== 1. Présentation ====== ====== 1. Présentation ======
  
Ligne 6: Ligne 8:
  
 Nous avons vu qu'il était facile d'utiliser la console et quelques //print// bien placés pour obtenir des traces simples et facile à lire, par ex : Nous avons vu qu'il était facile d'utiliser la console et quelques //print// bien placés pour obtenir des traces simples et facile à lire, par ex :
 +<code perl>
   print "Liste 'bla': ".join(' - ', @bla)."\n";   print "Liste 'bla': ".join(' - ', @bla)."\n";
   print "$_ => $tab{$_]\n" foreach keys %tab;   print "$_ => $tab{$_]\n" foreach keys %tab;
 +</code>
  
 Mais ces affichages sont limités, rébarbatifs pour les tableaux, et surtout ne peuvent pas rendre compte facilement de structures imbriquées basées sur les références. On peut alors appeler à la rescousse un module **standard** très pratique : Mais ces affichages sont limités, rébarbatifs pour les tableaux, et surtout ne peuvent pas rendre compte facilement de structures imbriquées basées sur les références. On peut alors appeler à la rescousse un module **standard** très pratique :
 +<code perl>
   use Data::Dumper;   use Data::Dumper;
      
   print Dumper(\@list, \%tab);   print Dumper(\@list, \%tab);
 +</code>
  
 Ceci affichant par exemple : Ceci affichant par exemple :
Ligne 27: Ligne 33:
  
 Notez l'utilisation des références sur des listes ou des tableaux lors de l'appel à //Dumper// : sans passage par référence, les structures sont //mises à plat// sous forme de liste et //Dumper// ne peut que les considérer comme des variables distinctes à afficher. Ainsi avec //print Dumper(@list)// on obtiendrai : Notez l'utilisation des références sur des listes ou des tableaux lors de l'appel à //Dumper// : sans passage par référence, les structures sont //mises à plat// sous forme de liste et //Dumper// ne peut que les considérer comme des variables distinctes à afficher. Ainsi avec //print Dumper(@list)// on obtiendrai :
 +<code perl>
   $VAR1 = 'lundi';   $VAR1 = 'lundi';
   $VAR2 = 'mardi';   $VAR2 = 'mardi';
   $VAR3 = 'mercredi';   $VAR3 = 'mercredi';
 +</code>
  
 Il reste que ces méthodes d'introspection sont limitées et demandent des modifications fréquentes du code à analyser. Il reste que ces méthodes d'introspection sont limitées et demandent des modifications fréquentes du code à analyser.
- 
  
 ====== 2. Utilisation ====== ====== 2. Utilisation ======
Ligne 170: Ligne 177:
   0.11 0.007 6.436 870 0.0000 0.0074 SDL::Surface::blit   0.11 0.007 6.436 870 0.0000 0.0074 SDL::Surface::blit
   0.08 0.005 6.544 435 0.0000 0.0150 main::win_update   0.08 0.005 6.544 435 0.0000 0.0150 main::win_update
- 
perl/le_debugger.1237078896.txt.gz · Dernière modification : 2009/03/15 01:01 de root