这篇教程C++ ContinueDebugEvent函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中ContinueDebugEvent函数的典型用法代码示例。如果您正苦于以下问题:C++ ContinueDebugEvent函数的具体用法?C++ ContinueDebugEvent怎么用?C++ ContinueDebugEvent使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了ContinueDebugEvent函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: wait_for_exceptionbool wait_for_exception(EXCEPTION_RECORD &ex) { bool ex_thrown = false; DEBUG_EVENT de; while(!ex_thrown) { if(WaitForDebugEvent(&de, (DWORD)100)) { switch(de.dwDebugEventCode) { case EXCEPTION_DEBUG_EVENT: if(is_fatal_exception(de.u.Exception.ExceptionRecord.ExceptionCode)) ex_thrown = true; break; case EXIT_PROCESS_DEBUG_EVENT: return false; default: ContinueDebugEvent (de.dwProcessId, de.dwThreadId, DBG_CONTINUE); break; } } else ContinueDebugEvent (de.dwProcessId, de.dwThreadId, DBG_CONTINUE); } /* Exception caught! */ ex = de.u.Exception.ExceptionRecord; return ex_thrown;}
开发者ID:ognz,项目名称:sloth-fuzzer,代码行数:25,
示例2: ContinueDebugEventBOOL CDbgHook::DbgLoop(IHookWorker& Work){ DWORD dwDbgStatus; ContinueDebugEvent(m_de.dwProcessId, m_de.dwThreadId, DBG_CONTINUE); while (WaitForDebugEvent(&m_de, INFINITE)) { dwDbgStatus = DBG_CONTINUE; switch (m_de.dwDebugEventCode) { case EXCEPTION_DEBUG_EVENT: if (OnExceptionDbgEvent(m_de, Work)) continue; else dwDbgStatus = DBG_EXCEPTION_NOT_HANDLED; break; case EXIT_PROCESS_DEBUG_EVENT: return TRUE; } ContinueDebugEvent(m_de.dwProcessId, m_de.dwThreadId, dwDbgStatus); } return TRUE;}
开发者ID:gkscndrl,项目名称:GoldRushData,代码行数:26,
示例3: hl_debug_waitHL_API int hl_debug_wait( int pid, int *thread, int timeout ) {# if defined(HL_WIN) DEBUG_EVENT e; if( !WaitForDebugEvent(&e,timeout) ) return -1; *thread = e.dwThreadId; switch( e.dwDebugEventCode ) { case EXCEPTION_DEBUG_EVENT: switch( e.u.Exception.ExceptionRecord.ExceptionCode ) { case EXCEPTION_BREAKPOINT: case 0x4000001F: // STATUS_WX86_BREAKPOINT return 1; case EXCEPTION_SINGLE_STEP: case 0x4000001E: // STATUS_WX86_SINGLE_STEP return 2; case 0x406D1388: // MS_VC_EXCEPTION (see SetThreadName) ContinueDebugEvent(e.dwProcessId, e.dwThreadId, DBG_CONTINUE); break; case 0xE06D7363: // C++ EH EXCEPTION ContinueDebugEvent(e.dwProcessId, e.dwThreadId, DBG_EXCEPTION_NOT_HANDLED); break; default: return 3; } case EXIT_PROCESS_DEBUG_EVENT: return 0; default: ContinueDebugEvent(e.dwProcessId, e.dwThreadId, DBG_CONTINUE); break; } return 4;# elif defined(USE_PTRACE) int status; int ret = waitpid(pid,&status,0); //printf("WAITPID=%X %X/n",ret,status); *thread = ret; if( WIFEXITED(status) ) return 0; if( WIFSTOPPED(status) ) { int sig = WSTOPSIG(status); //printf(" STOPSIG=%d/n",sig); if( sig == SIGSTOP || sig == SIGTRAP ) return 1; return 3; } return 4;# else return 0;# endif}
开发者ID:Disar,项目名称:Kha,代码行数:50,
示例4: LLOGbool Pdb::Continue(){ LLOG("** Continue"); running = true; ContinueDebugEvent(event.dwProcessId, event.dwThreadId, DBG_CONTINUE); return RunToException();}
开发者ID:Sly14,项目名称:upp-mirror,代码行数:7,
|