Ho problemi con l'utilizzo di GDB sul mio programma C++. Voglio impostare un punto di interruzione per la mia funzione membro della classe e non sono sicuro della sintassi su come farlo. Il mio programma sta funzionando in questo momento e sto solo cercando di imparare a usare GDB. Il mio problema è che tutte le informazioni che trovo on line riguardano solo un file main() e nessun'altra funzione o classe e se coinvolgono le classi è solo usando una funzione con un'istruzione return return.Punto di interruzione C++ GDB per funzioni membro
Ho una classe dell'albero di ricerca binaria. Voglio impostare un punto di interruzione su una funzione nel mio programma. ecco la sezione del mio file di intestazione.
class BST
{
BST()
...
private:
int add((BST * root, BST *src);
}
Sto telnettando in un server linux a linea di comando per la scuola. Posso ottenere GDB in esecuzione con il mio programma bene con g ++ -g * .cpp (ci sono altri file che funzionano bene) e il file viene salvato come a.out. Corro GDB con
gdb ./a.out
e mi trovo in GDB. Posso ottenere un punto di interruzione per la funzione di visualizzazione vuoto bene con
b BST::disp_block()
ma come faccio a farlo con la funzione add ho cercato
b BST::int add(BST*, BST *)
b int BST::add(BST*, BST *)
b BST::add(BST*, BST *)
e ho anche provato con i nomi degli argomenti
b BST::int add(BST * root, BST * src)
b int BST::add(BST * root, BST * src)
b BST::add(BST * root, BST * src)
e continuo a ricevere l'errore
Function "____" not defined.
Make break point pending on future shared library load? (y or [n])
Come si imposta un punto di interruzione per una funzione membro come questa? Im supponendo che i punti di osservazione siano dello stesso formato, se non lo si potrebbe spiegare anche questo.
In assenza di sovraccarichi o se si desidera interrompere tutti i sovraccarichi,' b BST :: add'. Non c'è bisogno di argomenti. Si noti che è necessario includere lo spazio dei nomi anche se la classe si trova in uno spazio dei nomi. –
È anche possibile impostare un punto di interruzione in gdb tramite nomefile: numero di telefono. Se la tua funzione è in bst.c, sulla riga 25, il comando sarà: (gdb) b bst.c: 25 – JGroven