Comment puis-je trouver les dll un exécutable charge?

si j'ai un exécutable Windows, Comment puis-je savoir quels dlls il chargera?

je parle juste de ceux qui seront chargés statiquement, pas ceux qu'il pourrait charger dynamiquement avec quelque chose comme LoadLibrary.

63
demandé sur David Norman 2009-01-24 03:07:13

8 réponses

il y a des utilitaires qui feront cela pour vous.

dans le passé, j'ai utilisé L'outil MS (dépend.exe) qui est venu avec (je pense) VB.:

https://msdn.microsoft.com/en-us/library/8kche8ah.aspx

et il y a ça aussi:

http://dependencywalker.com /

et probablement d'autres aussi.

30
répondu gkrogers 2015-02-04 01:19:42

dumpbin est un outil qui vient avec VC++.

pour voir ce Qu'un programme DLLs importera:

  • Ouvrez Visual Studio
  • dans le Menu Outils | invite de Commande Visual Studio
  • cd vers un dossier contenant l'exécutable
  • dumpbin / dependants 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

à voir quelles sont les fonctions (et les Dll) pour importer, utiliser

C:\> dumpbin /imports whatever.exe
41
répondu Graeme Perrow 2012-06-12 12:46:34

ouvrez l'invite de commande et tapez ensuite

tasklist /m /fi " imagename eq netbeans.exe "

Type à la place netbeans.exe quel que soit le nom de votre fichier exe nom.

11
répondu LOKESH 2015-05-05 11:56:30

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

10
répondu Subek Shakya 2012-03-12 10:35:49

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

10
répondu David S. 2016-11-02 08:37:25

Solution pour Microsoft. NET:

foreach (AssemblyName a in Assembly.ReflectionOnlyLoadFrom("SAMPLE.EXE").GetReferencedAssemblies()) 
{
    MessageBox.Show(a.Name); 
}
2
répondu htc 2012-05-30 15:13:56
1
répondu 2009-01-24 00:20:15

il y a un outil pratique appelé NDepend qui vous donnera toutes les dépendances DLL.

1
répondu FlySwat 2009-01-24 02:00:04