2008-10-10 64 views
3

是否有可能在运行时中断特定文件被修改?调试:修改文件时在运行时中断? (windows)

即。监视文件并在对其进行更改后进入调试器。

这是一个Windows应用程序...这是可能的视觉工作室或windbg?

编辑:我应该提到,这是一个Win32应用程序..

回答

2

您可以使用System.IO.FileSystemWatcher类。

FileSystemWatcher watcher = = new FileSystemWatcher(); 
watcher.Filter = @"myFile.ini"; 
watcher.Changed += new FileSystemEventHandler(watcher_Changed); 

,然后您实现类型FileSystemEventHandler的代表:

static void watcher_Changed(object sender, FileSystemArgs e) 
{ 
    Console.WriteLine("File {0} has changed.", e.FullPath); 
} 

每次都在过滤器中选择的文件被修改时,你会得到一个警告(你可以同时使用Debug类或跟踪类输出数据)。 此外FileSystemWatcher类有更多的事件(重命名,删除,创建)。

+0

我认为你的意思是FileSystemEventArgs而不是FileSystemArgs(除非在.NET 3.5中有所不同) – MusiGenesis 2008-10-11 00:10:32

0

假设这是.NET中,System.IO。 FileSystemWatcher类是你需要的。

FileSystemWatcher watcher = new FileSystemWatcher("c:filename.txt"); 
watcher.Changed += new FileSystemEventHandler(watcher_Changed); 
// 
void watcher_Changed(object sender, FileSystemEventArgs e) 
{ 
    // put a breakpoint here 
} 
+0

我应该提到,这是一个Win32应用程序..感谢您的答案,它的好知道! – 2008-10-10 23:43:12