121 votes

Quel est l'équivalent de ldd de Linux sous Windows ?

Quel est l'équivalent de Linux ldd sur Windows ?

1 votes

69voto

David St Denis Points 116

Le site dumpbin peut être utile pour de nombreuses choses, bien que dans ce cas, la commande dependency walker soit probablement un peu plus verbeuse.

dumpbin /dependents some.dll

Exemple de sortie :

C:\Program Fichiers (x86) \Microsoft Visual Studio \2017\Community\Team Outils \Static Outils d'analyse>dumpbin /dependants StanPolicy.dll

Dump du fichier StanPolicy.dll

Type de fichier : DLL

Image a les dépendances suivantes :

mscoree.dll

Résumé

    2000 .reloc
    2000 .rsrc
   1E000 .text

8 votes

C'est la meilleure option si vous avez installé Visual Studio.

64voto

Daniel A. White Points 91889

Voici Dependency Walker.

http://dependencywalker.com/

14 votes

Est-ce que quelque chose comme ldd existe, pour la ligne de commande seulement ? Je cherche quelque chose que je puisse utiliser à partir d'une invite. Je préfère une petite commande légère, de préférence sans DLL supplémentaire.

2 votes

Il semble que cela ait une interface de ligne de commande : dependencywalker.com/help/html/hidr_command_line_help.htm

4 votes

La syntaxe ressemble à ceci : depends.exe /c /oc:dependencies.csv /ot:dependencies.txt mydll.dll

43voto

rzr Points 979

Ou l'outil GNU :

i586-mingw32msvc-objdump -p  *.exe    | grep 'DLL Name:'

1 votes

Peut-on utiliser objdump pour afficher le chemin complet ? J'ai besoin de quelque chose de récursif et cela nécessite le chemin complet pour chaque DLL dépendante.

4 votes

Objdump vous montre seulement ce que le fichier contient. Il n'essaye pas de faire une recherche de chemin comme ldd fait.

14voto

Janus Troelsen Points 5121

Si vous utilisez wine et non un vrai Windows, vous pouvez utiliser WINEDEBUG=+loaddll wine <program> .

7 votes

Développer contre Wine pour cibler Windows m'a semblé être une idée si étrange que j'ai dû l'essayer (je cible principalement Linux)... et en fait, cela fonctionne. loin plus lisse que ce que j'attendais pour le prototypage. Très, très cool.

0 votes

Re : développement en utilisant Wine au lieu de Windows : notez que ce qui fonctionne dans Wine ne fonctionnera pas nécessairement sur le vrai Windows. J'ai appris cela lorsque j'ai oublié d'appeler GdiplusStartup et GDI+ ont fonctionné sans problème dans Wine, alors que ce n'était pas le cas sous Windows. Je n'ai remarqué cette erreur qu'après avoir débogué le programme dans Wine, en essayant ensuite de l'exécuter dans Windows.

0 votes

Je teste des choses sur Wine tout le temps, juste pour éviter de redémarrer et de changer d'OS. Cependant, c'est une bonne pratique avant une version majeure - ou chaque fois que vous avez fait quelque chose qui semble un tant soit peu suspect - de l'essayer également sur Windows natif.

10voto

Janus Troelsen Points 5121

Il existe désormais un ldd dans Cygwin. Si vous avez une très ancienne version de Cygwin, vous devrez utiliser cygcheck .

2 votes

Oui, mais ce n'est pas très précis

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X