90 votes

Comment savoir quelles dll un exécutable va charger?

Si j'ai un exécutable Windows, comment puis-je savoir quelles dlls seront chargées?

Je parle juste de ceux qui seront chargés statiquement, pas de ceux qui pourraient être chargés dynamiquement avec quelque chose comme LoadLibrary.

80voto

Graeme Perrow Points 22249

dumpbin est un outil fourni avec VC ++.

Pour voir quelles DLL un programme importera:

  • Ouvrez Visual Studio
  • Élément de menu Outils | Invite de commande Visual Studio
  • cd dans un dossier contenant un exécutable
  • dumpbin / dependents Whatever.exe
 Dump of file whatever.exe

File Type: EXECUTABLE IMAGE

  Image has the following dependencies:

    AIOUSB.DLL
    sqlite3.dll
    wxmsw293u_core_vc_custom.dll
    wxbase293u_vc_custom.dll
    KERNEL32.dll
    ole32.dll
    OLEAUT32.dll
    MSVCP90.dll
    MSVCR90.dll
 

Pour voir quelles fonctions (et DLL) il importera, utilisez

 C:\> dumpbin /imports whatever.exe
 

39voto

gkrogers Points 4830

Il existe des utilitaires qui le feront pour vous.

Dans le passé, j'ai utilisé l'outil MS (depend.exe) fourni avec (je pense) VB.:
http://msdn.microsoft.com/en-us/library/8kche8ah(VS.71).aspx

et il y a aussi ceci:
http://dependencywalker.com/

et probablement d'autres aussi.

14voto

David Segonds Points 25602

Dependency Walker peut vous aider à déterminer quel fichier .dll sera chargé.

12voto

Subek Shakya Points 270

Allez simplement à l'invite de commande et tapez tasklist /m , vous verrez la liste des fichiers dll utilisés par un programme spécifique.

3voto

htc Points 44

Solution pour Microsoft .Net:

 foreach (AssemblyName a in Assembly.ReflectionOnlyLoadFrom("SAMPLE.EXE").GetReferencedAssemblies()) 
{
    MessageBox.Show(a.Name); 
}
 

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