【发布时间】:2010-09-25 18:05:18
【问题描述】:
我正在尝试制作一个使用Debugger Engine API 的小工具,但我的成功非常有限。
我可以获得我的IDebugClient 和IDebugControl 实例,然后我可以从那里附加到已经运行的用户进程中。然后我进入一个主循环,调用WaitForEvent、OutputStackTrace、SetExecutionStatus(DEBUG_STATUS_GO),然后重复。本质上,这将是一个非常粗略的基于采样的分析器。
到目前为止还不错..
我的循环运行了一次完整的迭代,我可以看到正在显示堆栈跟踪,然后目标进程又回到运行状态。
我遇到的问题是,在我的第二次迭代中,对WaitForEvent 的调用返回E_HANDLE(“句柄无效”)。我在文档中看不到为什么应该返回这个错误。有谁知道为什么会发生这种情况?
【问题讨论】: