C++ GDB point d'arrêt pour les fonctions de membre

J'ai de la difficulté avec l'utilisation de GDB sur mon programme en c++. Je veux mettre en place un point de rupture pour ma fonction de membre de classe et je ne suis pas sûr de la syntaxe de la façon de le faire. Mon programme de travail à trouver, et je suis juste en train d'apprendre à utiliser GDB. Mon problème est que toutes les informations que j'ai trouver sur la ligne n'est vraiment traite avec juste une main() du fichier et pas d'autres fonctions ou de classes et si elles impliquent des classes ses seulement à l'aide d'une fonction avec un vide de l'instruction return.

J'ai un arbre de recherche binaire de la classe. Je veux mettre un point d'arrêt à une fonction dans mon programme.
voici la partie de mon fichier d'en-tête.

class BST
{
    BST()
    ...
    private:
    int add((BST * root, BST *src);
}

Je suis telneting dans une ligne de commande du serveur linux pour l'école.
Je peux obtenir GDB en cours d'exécution avec mon programme bien avec g++ -g *.rpc (il y a d'autres fichiers qui fonctionnent très bien), et le fichier est enregistré en tant que..
J'ai lancer GDB avec

gdb ./a.out

et je reçois dans GDB. Je peux obtenir un point de rupture pour le vide, la fonction d'affichage de l'amende juste avec

b BST::disp_block()

mais comment puis-je le faire avec la fonction add, j'ai essayé

b BST::int add(BST*, BST *)
b int BST::add(BST*, BST *)
b BST::add(BST*, BST *)

et j'ai même essayé avec les noms d'argument

b BST::int add(BST * root, BST * src)
b int BST::add(BST * root, BST * src)
b BST::add(BST * root, BST * src)

et je reçois l'erreur

Function "____" not defined.
Make break point pending on future shared library load? (y or [n])

Comment puis-je configurer un point de rupture pour une fonction membre comme celui-ci? Im en supposant des points de surveillance serait le même format, si non pourriez-vous expliquer que trop.

En l'absence de surcharges ou si vous voulez rompre dans tous les surcharges, b BST::add. Pas besoin d'arguments. Notez que vous devez inclure l'espace de noms aussi, si votre classe est dans un espace de noms.
Il est également possible de définir un point d'arrêt dans la via gdb nom de fichier:linenumber. Si votre fonction est dans la bst.c, ligne 25, la commande serait: (gdb) b bst.c:25

OriginalL'auteur user3543461 | 2016-03-04