我有.NET可執行文件託管在分開的AppDomain中的插件。 有時在應用程序使用過程中,此插件之一會鎖定文件並阻止其移動或刪除。什麼執行堆棧/ .NET AppDomain擁有文件句柄?
我需要找出誰擁有文件句柄?
問題是間歇性的,很難重現。有5個插件。 這不是禁止插件訪問這些文件或殺死句柄的解決方案(就像Unlocker一樣)。
我想:
首先,Sysinternals的 - 但它表明只有誰擁有具有指定名稱的文件的過程。
其次,在約WinDbg的文章和文檔說明我可以使用過程和處理,但得到的未來:!!!
0:001> !process
No export process found
0:001> !handle 314 ff 123
Unknown type '123
我可以用較少的參數處理,但我的版本(原因不明)甚至不會顯示我的文件名,如Debug Tutorial Part 5: Handle Leaks。我的可執行文件引用了100個文件。 我想挖掘WinDbg的方向,但由於某些原因,它從Windows 7 SDK安裝,功能與文檔中陳述的功能不同,這阻止了我的進一步調查?
我:
的WinDbg 6.12.0002.633 86(我的過程是32位)
的Windows 7 SP1 64位