debug:librairie
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
debug:librairie [2022/09/22 15:29] – Création avec "Récupérer la liste des symboles dans une librairie" root | debug:librairie [2023/04/26 11:46] (Version actuelle) – Ajout de "Récupérer la liste des dépendances dans une librairie" root | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====Lecture==== | ||
===Récupérer la liste des symboles dans une librairie=== | ===Récupérer la liste des symboles dans une librairie=== | ||
Ligne 20: | Ligne 21: | ||
</ | </ | ||
+ | Il est important de vérifier l' | ||
+ | Si la librairie n'a pas de symboles ou que l'on souhaite n' | ||
+ | |||
+ | <code bash> | ||
+ | nm -C -D librairie.so | ||
+ | </ | ||
+ | |||
+ | Ou : | ||
+ | |||
+ | <code bash> | ||
+ | readelf -Ws --demangle librairie.so | ||
+ | </ | ||
+ | |||
+ | Ou : | ||
+ | |||
+ | <code bash> | ||
+ | objdump -TC librairie.so | ||
+ | </ | ||
+ | |||
+ | ===Récupérer la liste des dépendances dans une librairie=== | ||
+ | |||
+ | * Sous windows : | ||
+ | |||
+ | <code bash> | ||
+ | dumpbin /dependents librairie.dll | ||
+ | </ | ||
+ | |||
+ | * Sous Linux : | ||
+ | |||
+ | <code bash> | ||
+ | ldd librairie.so | ||
+ | </ | ||
+ | |||
+ | ou | ||
+ | |||
+ | <code bash> | ||
+ | readelf -d librairie.so | grep ' | ||
+ | </ | ||
+ | |||
+ | ====Modifier==== | ||
+ | ===Fusionner des librairies statiques=== | ||
+ | |||
+ | * Sous Windows | ||
+ | |||
+ | <code bash> | ||
+ | " | ||
+ | </ | ||
+ | |||
+ | * Sous Linux | ||
+ | |||
+ | <code bash> | ||
+ | ar -rc merge.a lib1.lib lib2.lib | ||
+ | </ | ||
+ | |||
+ | Il est aussi possible de générer une pseudo librairie statique (thin archive). Cette librairie va se comporter comme un sommaire de tous les symboles mais sans contenir le code associé. | ||
+ | |||
+ | <code bas> | ||
+ | ar -rcT merge.a lib1.lib lib2.lib | ||
+ | ar -rc --thin merge.a lib1.lib lib2.lib | ||
+ | </ |
debug/librairie.1663853349.txt.gz · Dernière modification : 2022/09/22 15:29 de root