Εργαλείο γραμμής εντολών για να βρείτε Dll εξαρτήσεις

ψήφοι
17

Που τυγχάνουν υπάρχουν εργαλεία της γραμμής για να βρείτε αναδρομικά όλες τις εξαρτήσεις DLL; Προσπάθησα DUMPBIN και Εξάρτηση Walker (γνωστός και ως Depends.exe) που έρχονται με το Visual Studio, αλλά DUMPBIN βρίσκει μόνο το πρώτο επίπεδο των εξαρτήσεων, και η έξοδος των Εξάρτηση Walker δεν είναι πραγματικά φιλικό υπολογιστή.

Δημοσιεύθηκε 09/12/2008 στις 15:43
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
14

Δοκιμάστε την /oc:FILENAMEεπιλογή να εξαρτάται, να γράψει ένα κόμμα αρχείο τιμών διαχωρισμένων. Αυτό μοιάζει να είναι πιο εύκολο να αναλύσει από τη μηχανή από την «ελεύθερη μορφή» αρχείο κειμένου που δημιουργείται από την / ot: ΑΡΧΕΙΟ / επιλογή.

Απαντήθηκε 09/12/2008 στις 15:51
πηγή χρήστη

ψήφοι
8

Εξάρτηση Walker έχει πολλές επιλογές συμπεριλαμβανομένης της εξόδου σε αρχείο επιλογές. Ένα από αυτά είναι /oc:<path>το οποίο γράφει την έξοδο σε ένα αρχείο CSV , το οποίο μπορεί εύκολα να αναλυθεί με άλλα εργαλεία ή ακόμα και απλά εισάγονται σε εφαρμογή λογιστικών φύλλων.

Ανάλογα με το τι θα πρέπει να έχετε τις εξαρτήσεις για σας να έχετε πραγματικά cross-platform εργαλεία για να το κάνετε αυτό πάρα πολύ - για παράδειγμα CMake fixup-πακέτο το οποίο μπορεί να αντιγράψει όλες τις ανιχνεύεται εξαρτήσεις μη-σύστημα στη θέση του στόχου σας (εκτελέσιμο ή κοινή βιβλιοθήκη), ακόμα και σε Windows. Η τεκμηρίωση δεν το εξηγήσω με σαφήνεια, αλλά έχω να το χρησιμοποιούν για το σκοπό αυτό σε ένα πρόγραμμα cross-platform για μια στιγμή τώρα.

Απαντήθηκε 09/12/2008 στις 15:45
πηγή χρήστη

ψήφοι
2

Χρησιμοποιώντας την /oc:<path>επιλογή, Εξάρτηση Walker σας δίνει ένα αρχείο CSV που είναι εύκολο να αναλυθεί. Αν θέλετε, επίσης, τις διαδρομές στις βιβλιοθήκες θα πρέπει, επίσης, να χρησιμοποιήσετε την -f 1επιλογή. Μπορεί να θέλετε να το κάνετε αυτό, αν θέλετε να αντιγράψετε τις βιβλιοθήκες (π.χ. για να κάνει μια διανεμητέα έκδοση του ένα εκτελέσιμο).

Δυστυχώς, στην έξοδο από Depends.exe τις διαδρομές για τις βιβλιοθήκες μετατρέπονται σε πεζά και το όνομα DLL μετατρέπεται σε κεφαλαία. Για παράδειγμα,

c: \ qtsdk \ desktop \ qt \ 4.7.4 \ MinGW \ bin \ QTCORE4.DLL

Όταν η βιβλιοθήκη είναι στην πραγματικότητα βρίσκεται στη διεύθυνση:

C: \ QtSDK \ Desktop \ Qt \ 4.7.4 \ MinGW \ bin \ QtCore4.dll

Δεν φαίνεται να είναι ένας τρόπος για να πάρετε Depends.exe να αναφέρουν τις διαδρομές σωστά ποια είναι ντροπή.

Απαντήθηκε 06/06/2013 στις 04:33
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more