Questa guida cercherà di lavorare con GDB per entrare o sopra una funzione nel nostro codice.
Utilizzo di base GDB
Per illustrare questo, è possibile utilizzare il codice o utilizzare il campione fornito di seguito. Nell'esempio seguente, la funzione Loop ME contiene un ciclo che esamineremo con GDB.
#includereCompilare il codice con -G AS:
$ gcc -g loop.C -o LoopQuindi, lancia il programma con GDB come:
$ GDB LoopUna volta in GDB, possiamo eseguire il programma utilizzando il comando run o r. Puoi fermare il programma mentre è in esecuzione utilizzando il tasto CTRL + C.
Imposiamo un punto di interruzione sulla funzione principale per fermare l'esecuzione a quel punto. Nell'esempio sopra, ci fermiamo alla riga 10.
$ (GDB) Break MainBreakpoint 1 a 0x555555555171: loop file.C, linea 10.
Per passare attraverso il programma riga per riga, puoi utilizzare il comando Next o N.
$ (GDB) NextUna volta arrivata alla funzione su cui si desidera lavorare, nell'esempio sopra, la funzione LoopMe (), puoi calpestarla usando il comando successivo.
Questo salterà la funzione e andrà direttamente restituire 0 come:
Puoi anche entrare nella funzione e lavorare su di essa usando il comando STEP o S. Ad esempio, per immettere la funzione LoopMe (), possiamo fare:
$ (GDB) PassaggioIl comando entrerà nella funzione come:
Ora che siamo all'interno della funzione LoopMe (), possiamo passarci la riga per riga usando il comando successivo:
Come puoi vedere, passiamo attraverso il ciclo e vediamo come esegue il loop.
Conclusione
In questo rapido tutorial, abbiamo discusso del processo di utilizzo di GDB per passare o in una funzione durante il debug.