IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Systèmes de compilation Discussion :

[CMAKE] Problème d'analyse d'un coredump avec gdb d'un binaire généré avec cmake


Sujet :

Systèmes de compilation

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 22
    Points
    22
    Par défaut [CMAKE] Problème d'analyse d'un coredump avec gdb d'un binaire généré avec cmake
    Bonjour,
    Voici mon problème. J'avais un exécutable compilé sous Linux avec codebloc. J'ai modifié la chaine de compilation pour générer les binaires avec CMAKE.

    La compilation et l'exécution est OK. L'application est configuré pour générer un core dump lors d'un crash. J'analyse ce core avec gdb en exécutant la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gdb monapplication --core=core.1222
    Depuis que j'utilise CMAKE pour la génération, je peux analyser ce coredump uniquement sur la machine sur laquelle a été généré le binaire. Si j'essaie sur une autre machine (même OS RedHat 5.6) j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BFD: Warnig: /home/.../core.1222 is truncated: expected core file size >= 307032064, found: 307027968
    Ensuite "info threads" dans gdb me retourne ?? à la place du nom des fonctions. Comme s'il manquait les symbols.

    La commande nm retourne bien la liste des symboles

    Dans mon CMakeLists.txt j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY  ../bin )
    SET(CMAKE_USE_RELATIVE_PATHS ON)
    SET(CMAKE_VERBOSE_MAKEFILE ON)
    SET(CMAKE_CXX_COMPILER g++)
    SET(CMAKE_BUILD_STRIP FALSE)
     
    SET(CMAKE_CXX_FLAGS            "${CMAKE_CXX_FLAGS} -g")
    La commande g++ avec CMAKE est sensible identique à celle que j'avais précédemment avec codeblocs sauf l'option -o
    avec cmake:
    [CODE] -o CMakeFiles/monappilcation.dir/home/.../main.cpp.o
    avec codeblocs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -o obj/Release/.../main.cpp.o
    Auriez vous une idée comment retrouver mes symboles avec CMAKE sur un autre machine que celle qui a généré le binaire?

    Par avances merci.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    Quelqu'un sait-il comment gdb détermine la taille "expected size" et pourquoi varie t-elle d'une machine à une autre?

Discussions similaires

  1. [CMake]Problème de link avec un executable
    Par Anthares dans le forum Systèmes de compilation
    Réponses: 1
    Dernier message: 18/01/2012, 22h45
  2. Réponses: 2
    Dernier message: 19/05/2009, 11h53
  3. Réponses: 3
    Dernier message: 25/03/2007, 22h43
  4. Problème d'analyse ou de conception
    Par nanou2002 dans le forum Architecture
    Réponses: 4
    Dernier message: 25/10/2006, 18h27
  5. Réponses: 1
    Dernier message: 15/02/2006, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo