Abhängigkeitsauflösung in Linux

7

Unter Windows habe ich ein Programm namens dependency walker benutzt, um die Bibliotheken zu untersuchen, die die Anwendung benutzt. Ich habe mich gefragt, wie ich das unter Linux für eine Standard-Binärdatei erreichen kann:

ELF 32-bit LSB ausführbare Datei, Intel 80386, Version 1 (SYSV), dynamisch verlinkt (benutzt gemeinsame libs), für GNU / Linux 2.6.0, entfernt

Danke.

    
James 13.07.2009, 17:05
quelle

4 Antworten

14

Versuchen Sie:

%Vor%

Zum Beispiel:

%Vor%

Beachten Sie, dass nur gemeinsam genutzte Bibliotheken gemeldet werden. Wenn Sie herausfinden müssen, welche statischen Bibliotheken zum Zeitpunkt der Kompilierung eingebunden wurden, ist das ein wenig komplizierter, vor allem, da Ihre ausführbare Datei "entfernt" ist (keine Debugging-Symbole).

    
Mark Johnson 13.07.2009, 17:07
quelle
5

Verwenden Sie ldd

%Vor%     
Nick Meyer 13.07.2009 17:07
quelle
3

Wenn Sie etwas weniger roh als Iterativ aufrufen möchten und etwas mehr wie MSVC abhängt, sollten Sie Visual-ldd . Es wurde in 4 Jahren nicht aktualisiert, aber es sollte immer noch funktionieren, da sich das ELF-Format nicht geändert hat. Es wird immer noch nicht zeigen Sie einzelne Symbole in diesen Bibliotheken - dafür benötigen Sie etwas wie nm , und Ich kenne dafür leider keinen GUI-Wrapper.

    
Nick Bastin 13.07.2009 17:13
quelle
1

Verwenden Sie ldd . Es zeigt die dynamischen Bibliotheken, die die Binärdatei benötigt.

Beachten Sie, dass die Bibliotheken selbst wiederum mehr Bibliotheken benötigen. Um diese zu erhalten, können Sie ldd auf den Bibliotheken ausführen, die Sie von ldd auf der Binärdatei ausgeführt haben.

    
sleske 13.07.2009 17:08
quelle

Tags und Links