Maison >développement back-end >C++ >Pourquoi GDB manque-t-il de code source lors du débogage des programmes C ?

Pourquoi GDB manque-t-il de code source lors du débogage des programmes C ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-13 01:33:01334parcourir

Why is GDB Missing Source Code When Debugging C Programs?

Erreur de code source manquant dans GDB

Problème :

Lors de l'utilisation de GDB pour déboguer C programmes qui lèvent des exceptions, les utilisateurs rencontrent un message d'erreur indiquant que raise.c est manquant. Cette erreur empêche le débogage complet du code source.

Correction :

Pour résoudre ce problème et activer le débogage complet du code source dans GDB, suivez ces étapes :

1. Installez la version Debuginfo de Libc6 :

Assurez-vous que le package libc6-dbg est installé sur votre système. Ce package contient les informations de débogage de la bibliothèque C.

2. Configurer le système de packages pour la gestion du code source :

S'il n'est pas déjà configuré, activez votre système de packages pour télécharger et traiter les packages de code source en :

  • Installer dpkg-dev
  • Activation des lignes deb-src dans /etc/apt/sources.list et exécution de sudo apt update

3. Téléchargez le code source de la bibliothèque C :

  • Créez un répertoire pour le stockage du code source (par exemple, /opt/src)
  • Téléchargez le code source correspondant à la bibliothèque C installée version utilisant apt source libc6

4. Localisez le répertoire du code source et définissez le chemin GDB :

  • Déterminez l'emplacement attendu du code source à l'aide de la commande (gdb) info source
  • Déplacez ou créez un lien symbolique vers l'emplacement attendu ou utilisez (gdb) set substitut-path pour rediriger GDB vers le chemin correct

Une fois ces étapes terminées, GDB devrait maintenant afficher correctement le code source lors du débogage des programmes C.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn