2011-02-14 6 views
0
point d'arrêt

J'utilise g ++ 4.1.2 et gdb 7.2gdb incapable de mettre

Je suis débogage du code qui utilise Xerces, que je construit en utilisant les mêmes outils, mais probablement sans débogage. GDB parcourt bien mon code, mais bien sûr ne passe pas par Xerces car il n'a probablement pas d'informations de débogage et ne sait certainement pas où se trouve le répertoire source. Mais tout ce que je veux, c'est définir un point d'arrêt lorsque Xerces (un analyseur de callback) appelle un objet de rappel.

Leur classe de base est DefaultHandler

J'ai un ContentHandlerBase de classe: DefaultHandler publique ensuite les classes de feuilles héritent de ContentHandlerBase. Ces classes de feuille sont dans l'espace de noms A, par exemple

dans gdb J'essaie de définir un point d'arrêt.

b A :: :: LeafContentHandler LeafContentHandler b A :: :: LeafContentHandler endElement

Les premiers travaux de point d'arrêt parce que le code est en ligne (défini dans l'en-tête).

Le deuxième point d'arrêt ne fonctionne pas, ce qui signifie que ce type de symbole n'existe pas, même si cela est évident. C'est une fonction virtuelle définie dans la bibliothèque Xerces, si cela fait une différence. Avant de recompiler Xerces, il était construit avec g ++ 3.4.6 et je ne pouvais pas trouver le symbole dans gdb. Maintenant, gdb trouve le symbole (je peux appuyer sur l'onglet) mais il dit qu'il n'existe pas, dois-je attendre le chargement d'une bibliothèque.

Quelqu'un peut-il me dire ce que je dois faire pour le faire fonctionner? Je préférerais ne pas construire toutes les xerces avec le débogage. Notez que dans certains cas, avec le constructeur dans le fichier .cpp, cela fonctionnait aussi pour une raison quelconque, et puis, parce que c'était dans le même fichier, je pouvais définir un point d'arrêt suivant sur linenumber, et cela a fonctionné.

+0

Est-ce par hasard de l'expansion macro? Semble gdb ne va pas bien avec les macros. – g24l

Répondre

1

Essayez gdb 7.1 - il semble qu'il ya des problèmes dans la mise en point d'arrêt en nom de fonction dans gdb 7.2

+0

Je vais donner le bénéfice du doute, même si je n'ai pas essayé ... – Dov

Questions connexes