4
DebugActiveProcessを使用してプロセスをアタッチしました。その後、WaitForDebugEventを使用しましたが、アプリケーションがいくつかの無限ループに詰まっていると思われ、接続プロセスをデバッグできません。以下は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);
}
}