J'utilise gdb pour déboguer du code C++. Au moment où le code que je regarde itère à travers un tableau de pointeurs, qui sont soit un pointeur vers un objet ou un pointeur NULL.affichage conditionnel dans gdb
Si je juste display list[index]->member
il va se plaindre lorsque la liste [index] est nulle. Est-il possible d'afficher le membre uniquement si la liste [index] n'est pas null? Je sais que vous pouvez définir des points d'arrêt conditionnels (condition <bp-num> <exp>
) mais je ne suis pas sûr de savoir comment cela pourrait aider.
Le code en question est:
for (int i=0;i<BSIZE*BSIZE;i++){
if (vms[i]==target) {valid=true; break;}
}
où est le vms tableau de pointeurs.
Got it! Définir un point d'arrêt à la ligne 'if', y accéder, avancer jusqu'à vms [i]! = NULL, définir le point d'arrêt (disons BP1) à 'condition 1 vms [i]! = NULL' et allumer en toute sécurité 'afficher vms [i] -> member', puis continuer à frapper :) :) De meilleures solutions sont les bienvenues! – Samizdis