80

Windows 実行可能ファイルがある場合、どの dll が読み込まれるかを調べるにはどうすればよいですか?

LoadLibrary のようなもので動的にロードされる可能性のあるものではなく、静的にロードされるものについて話しているだけです。

4

10 に答える 10

65

dumpbinは、VC++に付属するツールです。

プログラムがインポートするDLLを確認するには、次のようにします。

  • VisualStudioを開きます
  • メニュー項目ツール| VisualStudioのコマンドプロンプト
  • 実行可能ファイルを含むフォルダにcd
  • dumpbin /dependentswhatever.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

インポートする関数(およびDLL)を確認するには、次を使用します。

C:\> dumpbin /imports whatever.exe
于 2009-01-24T01:55:27.463 に答える
37

これを行うユーティリティがあります。

過去に、VB に付属していたと思われる MS ツール (depends.exe) を使用しました。:
VS2010 VS2012 VS2013 VS2015 現在

これもあります:
http://dependencywalker.com/

そしておそらく他の人も。

于 2009-01-24T00:12:07.203 に答える
20

コマンドプロンプトを開き、以下のコマンドを入力します

tasklist /m /fi "イメージ名 eq netbeans.exe"

代わりに netbeans.exe と入力して、exe ファイル名を指定します。

于 2014-09-08T04:45:59.040 に答える
13

Dependency Walkerは、どの .dll が読み込まれるかを判断するのに役立ちます。

于 2009-01-24T00:12:36.783 に答える
12

コマンド プロンプトに移動して と入力するだけでtasklist /m、特定のプログラムで使用される dll ファイルのリストが表示されます。

于 2012-03-12T08:30:46.340 に答える
3

Microsoft .Net のソリューション:

foreach (AssemblyName a in Assembly.ReflectionOnlyLoadFrom("SAMPLE.EXE").GetReferencedAssemblies()) 
{
    MessageBox.Show(a.Name); 
}
于 2012-05-30T15:13:56.713 に答える
1

すべてのDLL依存関係を提供するNDependと呼ばれる便利なツールがあります。

于 2009-01-24T02:00:04.257 に答える
1

progfr はシンプルで便利です: [ http://members.fortunecity.com/michaelmoser/tip11.htm]

于 2009-01-24T00:20:15.143 に答える
1

依存関係 - オープンソースの最新の Dependency Walkerは、Windows 実行可能ファイルがどの DLL をロードするかを示し、最新の Windows 10 でうまく機能します。

Dependency Walkerよりも少し強力ではありませんが、後者は 2006 年に最後に更新されたため、Windows 10 で機能する場合と機能しない場合があります。もう。)

于 2021-01-28T12:41:34.867 に答える