如果我在Windows中使用CreateEvent
创build事件,如何使用Visual Studio中的debugging器来检查该事件是否发送信号? CreateEvent
返回一个句柄,它不能让我访问很多信息。 在我调用WaitForSingleObject()
之前,我想在进入函数之前检查事件是否有信号。
您可以使用Process Explorer工具( http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx )手动检查调试器外部的事件。 这有助于事件的命名,以便您可以更轻松地找到它。
使用句柄命令。 这里是一个例子
以下命令显示有关句柄0x8的详细信息。
0:000> !handle 8 f
Handle 8类型事件属性0 GrantedAccess 0x100003:同步QueryState,ModifyState HandleCount 2 PointerCount 3名称对象的具体信息事件类型自动重置事件正在等待
如果事件发信号并且使用WaitForSingleObject(),它将立即返回。 此外,您可以调用等待时间为0的WaitForSingleObject()来确定是否发送信号。 但是,这不应该是必要的 – 在CreateEvent()调用中设置初始状态(到目前为止您所遇到的问题还不清楚)。