调试:当文件被修改时在运行时中断?(Windows)

3

在运行时,当特定文件被修改时是否有可能中断程序?

即,监视该文件并在其发生更改后进入调试器。

这是针对Windows应用程序的...在Visual Studio或Windbg中是否可能实现?

编辑:我应该提到这是针对Win32应用程序的。

2个回答

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 );
}

每当筛选器中选择的文件被修改时,您会收到一个警报(您可以使用调试类或跟踪类来输出数据)。 此外,FileSystemWatcher类还具有更多事件(重命名、删除、创建)。

我认为你的意思是FileSystemEventArgs而不是FileSystemArgs(除非在.NET 3.5或其他版本中有所不同)。 - MusiGenesis

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
}

我应该提到这是用于Win32应用程序的。谢谢您的答复,很高兴知道! - e k

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接