Maison  >  Article  >  développement back-end  >  Pourquoi GDB signale-t-il une erreur de fichier manquant lors du débogage des exceptions C dans Ubuntu ?

Pourquoi GDB signale-t-il une erreur de fichier manquant lors du débogage des exceptions C dans Ubuntu ?

DDD
DDDoriginal
2024-11-11 00:29:02540parcourir

Why Does GDB Report a Missing File Error When Debugging C   Exceptions in Ubuntu?

GDB affiche une erreur de fichier manquant pour le code source de la bibliothèque

Lors de l'utilisation de GDB pour déboguer les exceptions C, les utilisateurs peuvent rencontrer un message d'erreur indiquant un fichier manquant fichier, tel que « Aucun fichier ou répertoire de ce type » pour « raise.c ». Cette erreur peut se produire même si l'exception est gérée correctement.

Solution : obtenir le code source de la bibliothèque et les informations de débogage

Pour résoudre ce problème, il est nécessaire d'obtenir le le code source et les informations de débogage de la bibliothèque appropriée, dans ce cas, libc6. Ubuntu fournit le package debuginfo à cet effet.

Étapes pour déboguer le code source de la bibliothèque C :

  1. Installez la version debuginfo de libc6 : sudo apt install libc6- dbg.
  2. Configurez le système de packages pour télécharger les packages de code source :

    • Installez dpkg-dev : sudo apt install dpkg-dev.
    • Décommentez " deb-src" dans /etc/apt/sources.list si nécessaire.
  3. Télécharger le code source :

    • Créer un répertoire : / opt/src.
    • Téléchargez le code source : apt source libc6.
    • Notez le répertoire du code source (par exemple, /opt/src/glibc-2.23).
  4. Ajustez le répertoire du code source de GDB :

    • Identifiez le répertoire du code source attendu à l'aide de la source d'informations (gdb).
    • Déplacez ou créez un lien symbolique vers le code source attendu emplacement, ou définir un chemin de remplacement : (gdb) set substitut-path /expected-location /actual-location.

Une fois ces étapes terminées, GDB pourra accédez au code source correct et fournissez des informations de débogage précises pour l'exception.

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