Je débogue un programme C++ avec GDB sous Linux, et j'ai besoin de voir la valeur d'une variable membre pendant l'exécution du programme. La variable membre, malheureusement, est nommée list
, qui se trouve être un mot clé GDB. Alors, quand je tente:Conflit de nom de variable avec le débogueur GDB
print m_operations.m_data[10].m_data.list
Je reçois ...
A syntax error in expression, near list'.
J'ai essayé toutes sortes de choses pour indiquer à GDB que j'entrer dans une expression littérale, comme mettre deux ou des guillemets simples autour du nom de la variable, mais cela entraîne simplement plus d'erreurs de syntaxe. J'ai regardé dans le manuel GDB et je ne trouve rien pour résoudre ce problème. Je ne peux pas renommer la variable membre parce que je ne suis pas autorisé à modifier cette classe. En outre, list
est un objet C++, pas un entier normal ou POD, donc je ne peux pas simplement utiliser le mot-clé x
pour examiner la mémoire là-bas ... du moins pas sans passer du temps à déchiffrer ce que représente le binaire brut.
Alors, des suggestions pour résoudre ce problème?
Pouvez-vous coller un peu plus de votre interaction gdb s'il vous plaît? Je peux seulement reproduire votre erreur avec une syntaxe C++ clairement fausse. – EightyEight
Quel est le type de 'm_data' (le second)? – mark4o