[Windows]DLLを読み込んでいるプロセスを特定する方法(tasklist /mの活用)

Windows

概要

Windowsのトラブルシューティングやデバッグ作業の中で、「ある特定のDLLをどのプロセスが使用しているか」を確認したい場面があります。
たとえば、不具合を起こしているDLLの影響範囲を把握したい場合や、アンロードができないDLLの使用元を特定したいときなどです。

このようなケースでは、Windowsに標準で用意されているコマンド tasklist /m が非常に有用です。本記事ではその使用方法と確認できる情報についてご紹介します。


対応方法

以下の手順で、DLLを読み込んでいるプロセスを特定できます。

1. コマンドプロンプトを管理者として起動

  1. 「スタート」メニューを開く
  2. 「cmd」と入力
  3. 「コマンドプロンプト」を右クリックし、「管理者として実行」を選択

2. コマンドの実行

特定のDLL名を指定して、どのプロセスがそれを使用しているか確認します:

tasklist /m DLL名

例:example.dll を使用しているプロセスを探す場合(ファイルパスはつけない)

tasklist /m example.dll

結果の例:

イメージ名                     PID モジュール
========================= ====== ====================
explorer.exe 5324 example.dll

このように、explorer.exeexample.dll を読み込んでいることが分かります。


プロパティ

項目内容
コマンドtasklist /m
用途プロセスが読み込んでいるDLL(モジュール)を一覧表示する
フィルター機能DLL名を指定することで、該当するDLLを読み込むプロセスを絞り込み可能
必要な権限一部のプロセス(SYSTEMなど)を確認するには「管理者として実行」が必要
対応OSWindows 10 / 11 / Server 2016以降
代替手段SysinternalsのProcess ExplorerなどのGUIツール

この方法を使えば、DLL関連の問題の原因となっているプロセスをすばやく突き止めることができます。
コマンドラインだけで完結するため、リモートサーバーや制限された環境でも役立ちます。

コメント

スポンサーリンク
タイトルとURLをコピーしました