kernel32: Process DBG_RIPEXCEPTION events like regular exceptions.
This commit is contained in:
parent
2fcecdb72e
commit
0114be0978
|
@ -85,6 +85,13 @@ BOOL WINAPI WaitForDebugEvent(
|
|||
event->u.DebugString.nDebugStringLength = data.exception.params[0];
|
||||
break;
|
||||
}
|
||||
else if (data.exception.exc_code == DBG_RIPEXCEPTION && data.exception.nb_params >= 2)
|
||||
{
|
||||
event->dwDebugEventCode = RIP_EVENT;
|
||||
event->u.RipInfo.dwError = data.exception.params[0];
|
||||
event->u.RipInfo.dwType = data.exception.params[1];
|
||||
break;
|
||||
}
|
||||
event->u.Exception.dwFirstChance = data.exception.first;
|
||||
event->u.Exception.ExceptionRecord.ExceptionCode = data.exception.exc_code;
|
||||
event->u.Exception.ExceptionRecord.ExceptionFlags = data.exception.flags;
|
||||
|
@ -128,10 +135,6 @@ BOOL WINAPI WaitForDebugEvent(
|
|||
case UNLOAD_DLL_DEBUG_EVENT:
|
||||
event->u.UnloadDll.lpBaseOfDll = wine_server_get_ptr( data.unload_dll.base );
|
||||
break;
|
||||
case RIP_EVENT:
|
||||
event->u.RipInfo.dwError = data.rip_info.error;
|
||||
event->u.RipInfo.dwType = data.rip_info.type;
|
||||
break;
|
||||
}
|
||||
done:
|
||||
/* nothing */ ;
|
||||
|
|
|
@ -1212,6 +1212,7 @@
|
|||
#define DBG_TERMINATE_PROCESS ((NTSTATUS) 0x40010004)
|
||||
#define DBG_CONTROL_C ((NTSTATUS) 0x40010005)
|
||||
#define DBG_PRINTEXCEPTION_C ((NTSTATUS) 0x40010006)
|
||||
#define DBG_RIPEXCEPTION ((NTSTATUS) 0x40010007)
|
||||
#define DBG_CONTROL_BREAK ((NTSTATUS) 0x40010008)
|
||||
#define DBG_COMMAND_EXCEPTION ((NTSTATUS) 0x40010009)
|
||||
#define DBG_EXCEPTION_NOT_HANDLED ((NTSTATUS) 0x80010001)
|
||||
|
|
|
@ -623,6 +623,7 @@ typedef DWORD FLONG;
|
|||
#define DBG_TERMINATE_PROCESS ((DWORD) 0x40010004)
|
||||
#define DBG_CONTROL_C ((DWORD) 0x40010005)
|
||||
#define DBG_PRINTEXCEPTION_C ((DWORD) 0x40010006)
|
||||
#define DBG_RIPEXCEPTION ((DWORD) 0x40010007)
|
||||
#define DBG_CONTROL_BREAK ((DWORD) 0x40010008)
|
||||
#define DBG_COMMAND_EXCEPTION ((DWORD) 0x40010009)
|
||||
#define DBG_EXCEPTION_NOT_HANDLED ((DWORD) 0x80010001)
|
||||
|
|
Loading…
Reference in New Issue