lister les symboles manquants de librairies - Divers - Programmation
MarshPosté le 23-03-2007 à 09:43:11
Bonjour,
voici mon probleme :
lorsqu'un reboot d'une machine echoue, j'ai un wrapper qui me liste les librairies manquantes (simple ldd).
J'aimerais aller plus loin en affichant les symboles manquants de TOUTES les librairies dont depend mon executable. Bien entendu, une librairie a des dependances sur d'autres librairies et donc la recherche des symboles manquants se ferait egalement dans ces librairies.
J'ai deja une idée assez simpliste de l'algorithme :
Or par exemple ldd Lib1.so retourne : LibX.so --> <PATH>/LibX.so LibY.so --> <PATH>/LibY.so LibZ.so --> <PATH>/LibZ.so
donc je ferais un double for et ensuite j'appliquerais la commande de recherche de symboles manquants dans ces librairies. Ou alors faire un tant que ldd retourne quelquechose faire un ldd et faire ensuite la commande des symboles manquants.
Je sais que nm et dump font ce genre de choses mais j'aimerais savoir si quelqu'un avait une idée de comment utiliser ces commandes et aussi une idée du choix d'utilisation d'une de ces 2 commandes en fonction que je suis sur Linux, AIX ou Sun par ex.
Marsh Posté le 23-03-2007 à 09:43:11
Bonjour,
voici mon probleme :
lorsqu'un reboot d'une machine echoue, j'ai un wrapper qui me liste les librairies manquantes (simple ldd).
J'aimerais aller plus loin en affichant les symboles manquants de TOUTES les librairies dont depend mon executable.
Bien entendu, une librairie a des dependances sur d'autres librairies et donc la recherche des symboles manquants se ferait egalement dans ces librairies.
J'ai deja une idée assez simpliste de l'algorithme :
commande ldd retourne : Myldd = ldd <MyApplication>
Lib1.so --> <PATH>/Lib1.so
Lib2.so --> <PATH>/Lib2.so
Lib3.so --> <PATH>/Lib3.so
Lib4.so --> <PATH>/Lib4.so
Or par exemple ldd Lib1.so retourne :
LibX.so --> <PATH>/LibX.so
LibY.so --> <PATH>/LibY.so
LibZ.so --> <PATH>/LibZ.so
donc je ferais un double for et ensuite j'appliquerais la commande de recherche de symboles manquants dans ces librairies.
Ou alors faire un tant que ldd retourne quelquechose faire un ldd et faire ensuite la commande des symboles manquants.
Je sais que nm et dump font ce genre de choses mais j'aimerais savoir si quelqu'un avait une idée de comment utiliser ces commandes et aussi une idée du choix d'utilisation d'une de ces 2 commandes en fonction que je suis sur Linux, AIX ou Sun par ex.
Je vous remercie d'avance.
Kanonji