Le débogueur ddt

NOTE - L'éditeur de ce débogueur s'appelle arm, auparavant c'était allinea

ddt permet de déboguer des codes fortran, C, C++, et ce quelque soit le compilateur utilisé (intel, gnu ou pgi)
Il s’agit d’un outil graphique, vous devrez donc ouvrir une session X11 :

  • Vous connecter avec ssh -X
  • Si le débit réseau est insuffisant, ssh -XC permet d’améliorer la fluidité de l’affichage
  • Si cela ne suffit pas, utilisez une session graphique

Pour déboguer votre code, vous devez travailler en deux temps :

  1. compiler son code avec le switch -g et supprimer toutes les options d’optimisation (au minimum, voir autres flags compilateurs).
  2. lancer l’outil ddt. Nous préconisons d’utiliser le mode ’connect’, très simple d’utilisation, et qui permet de faire tourner le code sur les nœuds tout en lançant l’interface graphique sur la frontale :

Déboguer son code avec ddt en mode connect

Lancer ddt depuis la frontale ou une session graphique (visu)

module load arm/19.1 
ddt &

Modifier votre script batch:

Ajouter ddt --connect avant la commande srun (ou mpiexec.hydra ou mpirun) :

module load arm/19.1
ddt --connect srun ...

Démarrage de ddt:

Depuis la fenêtre graphique ddt lancée à l’étape 1, une boite de dialogue va s’ouvrir (attendre quelques secondes).

Fenêtre initiale ddt connect

Configuration:

Une nouvelle fenêtre vous demandant de préciser les caractéristiques de votre code s’ouvre alors. Vous voudrez probablement déboguer la mémoire : dans ce cas cochez la case et pressez sur le bouton indiqué ci-dessous.

Configuration initiale

Nous vous recommandons de positionner le "Heap Debugging" sur Fast, et de préciser à ddt si le programme est en C, C++ ou fortran, multithreadé ou pas.

configuration de la mémoire

Vous êtes maintenant prêt à déboguer !!

ddt, la fenêtre principale

Voir aussi

FAQ

Questions fréquentes et messages d'erreurs