0

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

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

目前很好..

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

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

4

1 回答 1

0

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

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

于 2008-12-20T23:44:51.800 回答