2008-12-07 14 views
0

我試圖做一個小工具,利用Debugger Engine API,但我的成功非常有限。IDebugControl :: WaitForEvent工作一次然後返回E_HANDLE

我可以得到我的IDebugClientIDebugControl實例,從那裏我可以附加到已經運行的用戶進程中。然後我進入一個主循環,我呼叫WaitForEvent,OutputStackTrace,SetExecutionStatusDEBUG_STATUS_GO),然後重複。實質上,這將是一個非常簡單的基於採樣的分析器。

好爲止..

我回路一個完整的迭代運行時,我可以看到正在顯示堆棧跟蹤,然後目標進程去回到運行狀態。

我的問題是,在我的第二次迭代中,致電WaitForEvent返回E_HANDLE(「句柄無效」)。我無法在文檔中看到爲什麼應返回此錯誤。有誰知道爲什麼會發生這種情況?

回答

0

問題原來是我正在編譯,鏈接和針對舊版本的SDK運行。現在我已經將我的SDK升級到了最新版本(我認爲這是聯機文檔引用的版本),我得到的行爲至少與文檔一致。

我仍然有問題,但不再是這個問題。

相關問題