2009-07-13 7 views
7

में निर्भरता संकल्प विंडोज के तहत मैंने अनुप्रयोगों का उपयोग कर रहे पुस्तकालयों की जांच करने के लिए निर्भरता वॉकर नामक एक प्रोग्राम का उपयोग किया है। मैं सोच रहा था कि मैं इसे मानक बाइनरी के लिए लिनक्स पर कैसे प्राप्त कर सकता हूं:लिनक्स

ईएलएफ 32-बिट एलएसबी निष्पादन योग्य, इंटेल 80386, संस्करण 1 (SYSV), गतिशील रूप से लिंक (साझा libs का उपयोग करता है), जीएनयू/लिनक्स 2.6.0 के लिए ,

धन्यवाद।

+0

http://stackoverflow.com/questions/1057234/discovery-of- गतिशील- पुस्तकालय- निर्भरता-on-mac-os-linux – mark4o

उत्तर

14

प्रयास करें:

ldd executable 

उदाहरण के लिए:

[[email protected] ~]$ ldd /bin/ls 
     linux-gate.so.1 => (0xb7f57000) 
     librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7f4c000) 
     libselinux.so.1 => /lib/libselinux.so.1 (0xb7f32000) 
     libacl.so.1 => /lib/libacl.so.1 (0xb7f2b000) 
     libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7ddc000) 
     libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7dc4000) 
     /lib/ld-linux.so.2 (0xb7f58000) 
     libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7dc0000) 
     libattr.so.1 => /lib/libattr.so.1 (0xb7dbb000) 
[[email protected] ~]$ 

ध्यान दें कि यह केवल साझा पुस्तकालयों रिपोर्ट करेंगे। यदि आपको यह पता लगाने की आवश्यकता है कि संकलन समय पर कौन से स्थैतिक पुस्तकालयों को जोड़ा गया था, तो यह थोड़ा सा ट्रिकियर है, विशेष रूप से आपके निष्पादन योग्य 'स्ट्रिपेड' (कोई डिबगिंग प्रतीक नहीं) के रूप में देख रहा है।

5

उपयोग ldd

ldd /bin/sh 
+0

हा, बहुत बहुत धन्यवाद! – James

1

ldd का उपयोग करें। यह गतिशील पुस्तकालयों को द्विआधारी जरूरतों को दिखाएगा।

ध्यान दें कि पुस्तकालयों को खुद को और अधिक पुस्तकालयों की आवश्यकता हो सकती है। इन्हें प्राप्त करने के लिए, आप बाइनरी पर ldd चलाने से प्राप्त पुस्तकालयों पर ldd चला सकते हैं।

3

यदि आप थोड़ा सा कच्चे कॉलिंग से कुछ कम कच्चे चाहते हैं और एमएसवीसी की तरह कुछ और निर्भर करता है, तो आपको Visual-ldd आज़माएं। इसे 4 वर्षों में अपडेट नहीं किया गया है, लेकिन इसे अभी भी काम करना चाहिए कि ईएलएफ प्रारूप नहीं बदला है। यह अभी भी आपको उन पुस्तकालयों के अंदर व्यक्तिगत प्रतीक नहीं दिखाएगा - इसके लिए आपको nm जैसे कुछ की आवश्यकता होगी, और दुर्भाग्य से, इसके लिए मुझे किसी भी जीयूआई रैपर की जानकारी नहीं है।