0

我正在尝试调试在一台远程机器上发生的看起来像死锁的问题。我没有设法在我的本地机器上创建一个可重现的案例,也没有 100% 的时间在远程机器上发生。

我的主要问题是:文件句柄在被进程关闭后是否仍然可见?


代码相当复杂,但看起来基本上是这样的:

CFile* file = new CFile;
// ...do stuff with the file
delete file

据我从https://docs.microsoft.com/en-us/cpp/mfc/closing-files?view=msvc-160得知,delete应该确保文件对象关闭其句柄(实际上是调用CloseHandle)。

我验证(因为观察到额外的副作用)程序必须通过delete调用,同时在查看 SysInternals 时文件在 30 分钟后仍然打开handle.exe

4

0 回答 0