便利!アクセスしているリソースが分かるツール
Windows XP 以降のOSには Openfiles というコマンドラインツールがあって、ローカルファイルにアクセスしているプロセスを検出することができます。
Windows 2000でも、動かすことはできるのですが、なぜか、ローカルファイルの結果が出力されない…。
という訳で、別の方法を探してみました。
[NT] リソース キットの OH.exe ユーティリティの使用方法
まず、Oh.exe を使うためには、 Gflags.exe で Maintain a list of objects for each type にチェックを入れます。
レジストリ HKEY_LOCAL_MACHINE の SYSTEM\CurrentControlSet\Control\Session Manager の GlobalFlag 0x4000のフラグを立ててもOKです。
再起動すると反映されます。
Openfiles.exe も同じGlobalFlagを設定するのですが、oh.exe の場合、Fileだけでなく レジストリやPort、ディレクトリ、ミューテックス、セマフォなどのリソースもチェックすることが可能です。
Windows 2000のリソースキットがない人は、2003用のリソースキットを入手できます。
Download details: Windows Server 2003 Resource Kit Tools
XP以降であればそのままインストール。
Windows 2000の場合は、 インストール中にエラーが出たら、tempフォルダから、rktools.msiを取り出してfcwinで書き換えればインストール可能です。
注意点として、多少パフォーマンスが落ちるので、問題のあるファイルが分かったら、GlobalFlag を元に戻して再起動しましょう。
Comments