Unter Linux habe ich eine C++ - Anwendung, die dlopen() verwendet, um einige gemeinsam genutzte Bibliotheken zu laden, aber ich bin verdächtig, dass die Version der gemeinsam genutzten Bibliothek nicht die erwartete ist, weil mein Debugging-Code nicht angezeigt wird ermordet werden.Wie kann ich einen laufenden Prozess überprüfen, um zu sehen, welche Shared Libraries verwendet werden?
Gibt es eine Möglichkeit, einen laufenden Prozess zu überprüfen, um alle freigegebenen Bibliotheken abzufragen, die er gerade geöffnet hat, und den Pfad zu jeder dieser Bibliotheken? Mit anderen Worten, etwas Ähnliches wie ldd
, aber das funktioniert auf einer laufenden ausführbaren Datei und listet auch Laufzeit geladene Bibliotheken auf.
versuchen 'lsof -p _process_id_' – stardust
K hier ist eine vollständige Antwort. http://StackOverflow.com/Questions/5103443/how-to-check-what-shared-library-is-loaded-at-run-time – stardust