發布ASP.NET或者ASP應用時經常會碰到因為不恰當的NTFS授權引出的問題,這類問題通常調試起來很頭痛,要求調試者具有豐富經驗。(比如需要了解ASP.NET的進程模型,Shadow Copy可能涉及的目錄,以及當ASP只報告一個“resource in use”的錯誤時,它可能指的是asp在啟動的時候裝載一個殺毒軟件目錄下dll文件失敗,等等)
我剛剛發現,借助http://www.sysinternals.com/上的一個小工具 filemon 可以大大簡化此類問題的調試過程。
filemon可以實時監視和顯示系統中所有進程的各種文件操作,比如打開/創建一個文件,裝載一個dll。filemon監視這些操作並且把它們的操作結果打印出來。
當我們碰到Web應用程序發生權限異常的情況,我們只要打開filemon,然後重新運行該Web應用,之後在filemon的日志裡查找就可以發生Access Denied異常的對應操作。