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.
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).
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.
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.
Tags und Links c linux executable