Maison > développement back-end > C++ > Comment puis-je déboguer les fichiers de base générés sur différentes distributions Linux ?

Comment puis-je déboguer les fichiers de base générés sur différentes distributions Linux ?

Mary-Kate Olsen
Libérer: 2025-01-02 13:31:39
original
799 Les gens l'ont consulté

How Can I Debug Core Files Generated on Different Linux Distributions?

Débogage des fichiers principaux avec des distributions mixtes

Lorsque vous rencontrez des fichiers principaux générés sur le système Linux d'un client qui diffère de l'environnement de développement, la trace de la pile peut ne pas avoir de sens en raison de divergences potentielles dans les adresses des bibliothèques.

Résolution de Stack Trace Ambiguïté

Pour résoudre ce problème, obtenez les bibliothèques partagées utilisées par l'exécutable à partir du système du client. Compressez-les dans une archive tar et extrayez-les dans un répertoire temporaire sur le système de développement. Dans GDB, définissez le préfixe solib-absolute-prefix pour qu'il pointe vers ce répertoire. Cela permettra à GDB de charger les versions correctes de la bibliothèque et de produire une trace de pile précise.

Bonnes pratiques de débogage

Pour simplifier le débogage, créez un binaire de débogage avec -g -Drapeaux d'optimisation O2. Utilisez strip -g pour supprimer les symboles de débogage du binaire final distribué aux clients. Lorsqu'un fichier principal est reçu, utilisez le binaire de débogage avec les informations symboliques complètes pour faciliter le débogage.

Ressources de débogage alternatives pour Linux et Solaris

  • Outils de débogage Linux : LLDB, valgrind, gdbserver, ptrace (https://www.drdobbs.com/debug-your-linux-system-with-the-swiss-army-knife/232400979)
  • Débogage Solaris avec dtrace, kdump, dtrace, adb (https://sysadmin-docs.oracle.com/html/E23191_02/bkabaacg.html#scrollcap16782)

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal