概要
Windowsのトラブルシューティングやデバッグ作業の中で、「ある特定のDLLをどのプロセスが使用しているか」を確認したい場面があります。
たとえば、不具合を起こしているDLLの影響範囲を把握したい場合や、アンロードができないDLLの使用元を特定したいときなどです。
このようなケースでは、Windowsに標準で用意されているコマンド tasklist /m
が非常に有用です。本記事ではその使用方法と確認できる情報についてご紹介します。
対応方法
以下の手順で、DLLを読み込んでいるプロセスを特定できます。
1. コマンドプロンプトを管理者として起動
- 「スタート」メニューを開く
- 「cmd」と入力
- 「コマンドプロンプト」を右クリックし、「管理者として実行」を選択
2. コマンドの実行
特定のDLL名を指定して、どのプロセスがそれを使用しているか確認します:
tasklist /m DLL名
例:example.dll
を使用しているプロセスを探す場合(ファイルパスはつけない)
tasklist /m example.dll
結果の例:
イメージ名 PID モジュール
========================= ====== ====================
explorer.exe 5324 example.dll
このように、explorer.exe
が example.dll
を読み込んでいることが分かります。
プロパティ
項目 | 内容 |
---|---|
コマンド | tasklist /m |
用途 | プロセスが読み込んでいるDLL(モジュール)を一覧表示する |
フィルター機能 | DLL名を指定することで、該当するDLLを読み込むプロセスを絞り込み可能 |
必要な権限 | 一部のプロセス(SYSTEMなど)を確認するには「管理者として実行」が必要 |
対応OS | Windows 10 / 11 / Server 2016以降 |
代替手段 | SysinternalsのProcess Explorer などのGUIツール |
この方法を使えば、DLL関連の問題の原因となっているプロセスをすばやく突き止めることができます。
コマンドラインだけで完結するため、リモートサーバーや制限された環境でも役立ちます。
コメント