ContinueDebugEvent功能使调试器能够继续先前报告调试事件的线程。
BOOL ContinueDebugEvent(
DWORD 【dwProcessId】, | //进程继续 |
DWORD 【dwThreadId】, | //线程继续 |
DWORD 【dwContinueStatus】 | //继续状态 |
); |
参数
【dwProcessId】
标识要继续的过程。
【dwThreadId】
标识要继续的线程。进程标识符和线程标识符的组合必须标识先前已报告调试事件的线程。
【dwContinueStatus】
指定如何继续报告调试事件的线程。
如果为此参数指定了DBG_CONTINUE标志,并且由【dwThreadId】参数指定的线程先前报告了EXCEPTION_DEBUG_EVENT调试事件,则该函数将停止所有异常处理并继续执行该线程。对于任何其他调试事件,该标志只是继续线程。
如果为此参数指定了DBG_EXCEPTION_NOT_HANDLED标志,并且由【dwThreadId】指定的线程先前报告了EXCEPTION_DEBUG_EVENT调试事件,则该函数将继续执行异常处理。如果这是第一次机会异常事件,则使用结构化异常处理程序的搜索和调度逻辑;否则,该过程终止。对于任何其他调试事件,该标志只是继续线程。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
只有使用CreateProcess功能创建【dwProcessId】的线程才能调用ContinueDebugEvent.
ContinueDebugEvent函数成功后,指定的线程继续。根据以前由线程报告的调试事件,会发生不同的操作。如果继续线程先前报告了一个EXIT_THREAD_DEBUG_EVENT调试事件,ContinueDebugEvent关闭调试器对线程的句柄。如果连续线程先前报告了一个EXIT_PROCESS_DEBUG_EVENT调试事件,ContinueDebugEvent将关闭调试器对进程和线程的句柄。
也可以看看