2011-08-03 2 views
4

DebugActiveProcess를 사용하여 프로세스를 연결했습니다. 그 후 WaitForDebugEvent를 사용했지만 응용 프로그램이 무한 루프에 멈추고 첨부 된 프로세스를 디버그 할 수없는 것으로 보입니다. 당신은 CREATE_PROCESS_DEBUG_EVENT 이벤트에 ContinuteDebugEvent 호출되지 않습니다DebugActiveProcess 및 WaitForDebugEvent 사용이 중단 된 것처럼 보입니다.

DebugActiveProcess(processID); 
    int temp = 0; 

    DEBUG_EVENT DBEvent; 

    while (1) 
    { 
     WaitForDebugEvent(&DBEvent, INFINITE); 
     if (DBEvent.dwDebugEventCode == EXIT_PROCESS_DEBUG_EVENT) 
      break; 
     if (DBEvent.dwDebugEventCode == CREATE_PROCESS_DEBUG_EVENT) 
     { 
      //MessageBox(0,"Debugging started!","Ble",0); 
      temp = 1; 
     } 
     else if (DBEvent.dwDebugEventCode == EXCEPTION_DEBUG_EVENT) 
     { 
      if (DBEvent.u.Exception.ExceptionRecord.ExceptionCode == EXCEPTION_BREAKPOINT) 
      { 
       ContinueDebugEvent(processID, qalsrvid, DBG_CONTINUE); 
       continue; 
      } 
      ContinueDebugEvent(processID, qalsrvid, DBG_EXCEPTION_NOT_HANDLED); 
     } 
    } 

답변

관련 문제