我正在處理幾十萬行代碼,而且我很難在這個進程訪問某個特定文件。我已經放棄了搜索代碼,我只是找不到。當一個進程訪問一個文件,或者從一個進程獲取一個文件訪問的調用堆棧時進入調試器
所以,我在這裏 - 問一個問題,我幾乎可以肯定沒有簡單的解決方案。
我試過從SysInternals的FileMon,ProcMon,雖然我可以看到文件被訪問,但它不顯示調用堆棧或任何有用的信息。
我希望當發生這種情況時我可以進入調試器;我想也許我可以爲FileMon編寫一些擴展,在發生訪問時向我發出信號,然後我可以將一個Debug.Break放入我的進程中。
任何洞察力或想法讚賞。
我試過了 - 這很耗時,我有超過30萬次來電。但我想這是唯一的方法。我想知道如果C#代碼可能訪問它,那麼是否也會通過createFile? – mjsabby 2010-09-05 01:35:18
好主人,難怪你找不到它。是的,*全部*文件訪問需要經過CreateFile。您的下一個選項是修補它,以便您可以編寫代碼來比較文件名。使用Detours:http://research.microsoft.com/en-us/projects/detours/ – 2010-09-05 01:39:32