【问题标题】:IDebugControl::WaitForEvent works once then returns E_HANDLEIDebugControl::WaitForEvent 工作一次然后返回 E_HANDLE
【发布时间】:2010-09-25 18:05:18
【问题描述】:

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

我可以获得我的IDebugClientIDebugControl 实例,然后我可以从那里附加到已经运行的用户进程中。然后我进入一个主循环,调用WaitForEventOutputStackTraceSetExecutionStatus(DEBUG_STATUS_GO),然后重复。本质上,这将是一个非常粗略的基于采样的分析器。

到目前为止还不错..

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

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

【问题讨论】:

    标签: c++ winapi com dbgeng


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      • 1970-01-01
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      相关资源
      最近更新 更多