Tapez simplement GDB dans la fenêtre du terminal pour accéder au GDB de votre système d'exploitation sur Ubuntu ou tout autre système d'exploitation Linux ou Unix. La capture d'écran de la commande GDB est indiquée dans l'illustration suivante. Il montre les détails du droit d'auteur du GDB. L'invite ouverte de GDB indique les informations concernant le moment où il est prêt à accepter les commandes. Sur certaines configurations GDB dans lesquelles le système d'exploitation permet aux threads, ces fonctionnalités ne sont pas encore accessibles. Ces instructions n'ont aucun impact sur GDB qui ne permet pas le threading. Par exemple, un système qui n'a pas de support de thread ignore le résultat de la requête «Info Threads» et ignore constamment l'instruction du thread.
Il vous suffit de taper la commande «quit» dans le terminal GDB pour quitter et terminer votre session actuelle de GDB. Vous pouvez voir l'instruction de quitter sur le débogueur GDB comme indiqué dans ce qui suit:
Le débogueur GDB a proposé de nombreuses commandes de débogueur. Voici quelques exemples de commandes répertoriées que nous pouvons essayer d'utiliser le débogueur GDB:
Exemple:
Voici un petit morceau de code qui utilise plusieurs threads, les crée avec la méthode pthread_create et transmet les méthodes des threads. Le programme d'échantillon a une fonction principale () qui crée deux threads dans l'illustration suivante. Il y a maintenant trois threads en cours d'exécution, y compris le fil Parent / Original Main (). La fonction Main () utilise la fonction PTHEAD_CREATE () pour créer les threads et les appeler les uns après l'autre.
La boucle while est vérifiée dans le code suivant pour voir si la valeur de la variable Count1 est inférieure à 500. Si c'est le cas, l'instruction PRINT est exécutée pour afficher une chaîne «Thread 1 est en cours d'exécution» à côté de la variable Count. Le thread est joint immédiatement après avoir utilisé la commande pthread_ join () Fonction dans ce code.
Utilisez les commandes énumérées suivantes pour compiler le code à l'aide du compilateur GCC et afficher l'activité du thread avec le débogueur du PIB. L'image suivante est une capture d'écran qui montre que le code précédent est compilé avec succès:
gcc -g multithreads.c -o multithreads -lpthread
Tout en utilisant Ubuntu 20.04 Système, tapez la commande suivante sur l'écran du terminal pour voir et examiner le thread.
$ gdb ./ Multithreads
Maintenant, nous sommes en mode de débogage GDB, grâce à la fenêtre du terminal. Pour établir les points d'arrêt sur la principale, utilisez le thread deux et le fil trois routines de chaque fil nouvellement formé. Pour insérer un point d'arrêt, nous utilisons le code répertorié suivant. C'est une commande simple; Tapez juste la pause. Après cela, écrivez le nom des méthodes de thread pour insérer les points d'arrêt. Cette méthode affiche le numéro de ligne où les points d'arrêt ont été ajoutés après être entrés.
Pour exécuter le programme, utilisez le mot clé «Exécuter» ou le simple «R» comme commande sur l'écran du terminal. Un aperçu des threads du programme et des informations sur leur état actuel sont fournis par les fils d'information de commande, car vous devriez prendre note de. Il n'y a eu qu'un seul fil a commencé dans ce cas jusqu'à présent.
L'exécution doit continuer à utiliser la commande suivante:
Deux autres fils commencent à cet endroit. Le fil qui est actuellement mis au point est désigné par une étoile. De plus, le point de rupture défini pour les threads nouvellement formés dans leurs méthodes d'initialisation est atteint - Thread Two () et Thread Three (), spécifiquement. Utilisez la commande pour déplacer la mise au point vers un autre thread avant de démarrer un débogage de threads réel. À la ligne 17 de sa fonction Thread Two, Thread 2 () s'arrête.
Selon la sortie des «threads d'information», le thread deux imprime brièvement le compteur de comptoir2 puis quitte le thread 2 à la ligne 17. De même, nous pouvons faire fonctionner le thread «thread_three» en utilisant une manière assez similaire que nous avons utilisée pour le thread_two.
Conclusion
Pour résumer, nous pouvons enfin utiliser le débogueur GDB dans notre Ubuntu 20.04 Système Linux. Pour cela, nous avons expliqué son utilisation dans le paragraphe d'introduction et répertorié certaines des principales fonctionnalités qui nous sont fournies et en faire un débogueur unique.