|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 5 ![]() |
Bonjour,
J'ai un gros doute concernant l'analyse de coredump sous linux/unix. Mon programme plante et génère un coredump sur une machine de production, cette machine n'a pas de gdb et je ne pas l'installer J'essaie donc d'analyser ce core sur une machine ou il y a un gdb (c'est la machine ou j'ai compilé mon programme), mais cette machine n'a pas les mêmes versions de lib (libc, libpthread, etc ...). Faut-il avoir exactement les mêmes version de lib pour pouvoir analyser le dump provenant d'une autre machine? PS: J'ai essayé de copier les lib de la machine de production dans un coin et de fixer le LD_LIBRARY_PATH mais j'ai pas l'impression que ca change grand chose... Merci pour votre aide. |
|
|
00
|
|
|
#2 | |
![]() ![]() Chercheur d'emploi Inscription : septembre 2007 Messages : 4 610 ![]() |
Bonsoir,
Citation:
Il serait peut-être plus intéressant de monter un NFS de ta machine de prod vers ton poste de travail pour pouvoir appeler GDB sans avoir à l'installer. Sinon, si tu disposes d'un peu de temps et de suffisamment d'espace disque, tu peux essayer de cloner le contenu du disque de ta machine de prod' vers un répertoire, voire faire une image disque avec dd à travers le réseau et monter cette image. Tu pourras alors facilement y ajouter des fichiers et travailler tranquillement depuis ton poste. |
|
|
|
10
|
|
|
#3 |
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 5 ![]() |
Merci pour ta réponse, je vais ce que je peux faire.
|
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : janvier 2013 Messages : 5 ![]() |
Si ça peu dépanner un autre j'ai trouvé une solution assez "light":
1) Faire un ldd de son programme pour avoir la liste des dépendances 2) Copier ces libraries sur l'autre machine dans un répertoire temporaire (attention il fait la même architecture, c-a-d que si les lib sont dans /lib il faudra les copier dans /tmp/lib) 3) Copier le binaire et le core dans /tmp puis lancer gdb (sans options) 4) Indiquer ou se trouve les libs: set solib-absolute-prefix /tmp 5) Indiquer ou se trouve le binaire: file /tmp/toto 6) Indiquer ou se trouve le core: core-file /tmp/core.28163 et chez mois ça fonctionne bien |
|
|
10
|
Copyright © 2000-2013 - www.developpez.com