Ce guide envisagera de travailler avec GDB pour entrer ou sur une fonction dans notre code.
Utilisation de base du GDB
Pour illustrer cela, vous pouvez utiliser votre code ou utiliser l'échantillon fourni ci-dessous. Dans l'exemple ci-dessous, la fonction Loop ME contient une boucle que nous examinerons avec GDB.
#inclureCompilez le code avec -g comme:
$ gcc -g boucle.boucle c -oEnsuite, lancez le programme avec GDB comme:
$ GDB LOOPUne fois dans GDB, nous pouvons exécuter le programme en utilisant la commande RUN ou R. Vous pouvez arrêter le programme pendant qu'il s'exécute en utilisant la touche Ctrl + C.
Définissons un point d'arrêt à la fonction principale pour arrêter l'exécution à ce moment-là. Dans l'exemple ci-dessus, nous nous arrêtons à la ligne 10.
$ (gdb) Break MainPoint d'arrêt 1 à 0x555555555171: boucle de fichier.C, ligne 10.
Pour parcourir votre programme ligne par ligne, vous pouvez utiliser la commande suivante ou n.
$ (gdb) suivantUne fois que vous arrivez à la fonction sur laquelle vous souhaitez travailler, dans l'exemple ci-dessus, la fonction LoopMe (), vous pouvez le passer à l'aide de la commande suivante.
Cela sautera la fonction et ira directement retourner 0 comme:
Vous pouvez également entrer dans la fonction et travailler dessus en utilisant la commande Step ou S. Par exemple, pour entrer la fonction loopme (), nous pouvons faire:
$ (gdb) étapeLa commande entrera dans la fonction comme:
Maintenant que nous sommes à l'intérieur de la fonction LoopMe (), nous pouvons le passer en ligne par ligne en utilisant la commande suivante:
Comme vous pouvez le voir, nous passons à travers la boucle et voyons comment la boucle s'exécute.
Conclusion
Dans ce tutoriel rapide, nous avons discuté du processus d'utilisation de GDB pour passer ou entrer dans une fonction lors de la débogage.