C++ 在Windows中调试事件

C++ 在Windows中调试事件,c++,c,windows,multithreading,visual-studio,C++,C,Windows,Multithreading,Visual Studio,如果我在Windows中使用CreateEvent创建事件,我如何检查该事件是否通过Visual Studio中的调试器发出信号?CreateEvent返回一个句柄,它不允许我访问很多信息。在调用WaitForSingleObject之前,我想在进入函数之前检查事件是否发出信号。如果事件发出信号并且您使用WaitForSingleObject,它将立即返回。此外,您还可以调用等待时间为0的WaitForSingleObject,以确定是否发出了信号。但是,这应该不是必需的-在CreateEven

如果我在Windows中使用CreateEvent创建事件,我如何检查该事件是否通过Visual Studio中的调试器发出信号?CreateEvent返回一个句柄,它不允许我访问很多信息。在调用WaitForSingleObject之前,我想在进入函数之前检查事件是否发出信号。

如果事件发出信号并且您使用WaitForSingleObject,它将立即返回。此外,您还可以调用等待时间为0的WaitForSingleObject,以确定是否发出了信号。但是,这应该不是必需的-在CreateEvent调用中设置初始状态您的问题中不清楚到目前为止发生了什么。

如果发出事件信号,并且您使用WaitForSingleObject,它将立即返回。此外,您还可以调用等待时间为0的WaitForSingleObject,以确定是否发出了信号。但是,这应该不是必需的-在CreateEvent调用中设置初始状态您的问题中不清楚到目前为止发生了什么。

您可以使用Process Explorer工具在调试器之外手动检查事件。如果事件已命名,则会有所帮助,以便您可以更轻松地找到它。

您可以使用Process Explorer工具在调试器外部手动检查事件。如果事件已命名,则会有所帮助,以便您可以更轻松地找到它。

使用handle命令。这是一个样本

以下命令显示有关句柄0x8的详细信息

0:000> !handle 8 f 
处理8 类型事件 属性0 授权访问0x100003: 同期 QueryState,ModifyState HandleCount 2 指针计数3 名称 对象特定信息 事件类型自动重置
事件正在等待

使用handle命令。这是一个样本

以下命令显示有关句柄0x8的详细信息

0:000> !handle 8 f 
处理8 类型事件 属性0 授权访问0x100003: 同期 QueryState,ModifyState HandleCount 2 指针计数3 名称 对象特定信息 事件类型自动重置
事件正在等待

请注意,此命令用于调试Windows WinDbg/ntsd/cdb/kd的工具,而不是Visual Studio。DTW在@bk1e:这是真的。然而,它也是,所以的!Visual Studio中也提供了句柄扩展命令。请注意,此命令用于调试Windows WinDbg/ntsd/cdb/kd的工具,而不是Visual Studio。DTW在@bk1e:这是真的。然而,它也是,所以的!在VisualStudio中也可以使用句柄扩展命令。