是否只在调试器中发生某些异常错误?

T.T*_*.T. 5 c c++ windows visual-studio

在一个程序中,我意外地closeHandle()在互斥锁手柄上调用了两次(关闭已经关闭的手柄).

在调试器中运行代码时,我收到了An invalid HANDLE was specified.预期的异常错误.

但是,将程序"正常"作为独立程序(在调试程序之外)运行时,不会出现异常或任何其他错误.程序似乎正常运行.

这只是Visual Studio .NET 2003中的一个设置还是有更多的背后?

Dav*_*nan 5

文件规定:

如果应用程序在调试器下运行,则该函数在收到无效的句柄值或伪句柄值时将抛出异常.如果关闭句柄两次,或者如果在FindFirstFile函数返回的句柄上调用CloseHandle而不是调用FindClose函数,则会发生这种情况.