IDebugControl :: WaitForEvent工作一次然后返回E_HANDLE

时间:2008-12-07 16:28:35

标签: c++ winapi com dbgeng

我正在尝试制作一个使用Debugger Engine API的小工具,但我的成功非常有限。

我可以获取IDebugClientIDebugControl个实例,然后我可以将其附加到已经运行的用户进程中。然后我输入一个主循环,我调用WaitForEventOutputStackTraceSetExecutionStatusDEBUG_STATUS_GO),并重复。实质上,这将是一个非常粗略的基于采样的分析器。

到目前为止很好..

我的循环运行一整个迭代,我可以看到正在显示堆栈跟踪,然后目标进程又回到运行状态。

我遇到的问题是,在我的第二次迭代中,对WaitForEvent的调用返回E_HANDLE(“句柄无效”)。我无法在文档中看到为什么要返回此错误。有谁知道为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

问题原来是我正在编译,链接和运行旧版本的SDK。现在我已将SDK升级到最新版本(我认为是在线文档引用的版本),我得到的行为至少与文档一致。

我仍有问题,但不再是这个问题。