mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 18:52:57 +00:00
- Prevent a misunderstanding: kdHandleException means the debugger did NOT handle the exception. Fix the logic, and thus fix vectored exception handling which led to 2nd stage hang in qemu.
- TODO: This ContinueType thing should be reworked into a better logic. See issue #3344 for more details. svn path=/trunk/; revision=33943
This commit is contained in:
parent
31bec7ebbf
commit
b21dc84f01
2 changed files with 10 additions and 6 deletions
|
@ -165,8 +165,10 @@ KdpEnterDebuggerException(IN PKTRAP_FRAME TrapFrame,
|
||||||
//DPRINT1("Address: %p. Return: %d\n", EipOld, Return);
|
//DPRINT1("Address: %p. Return: %d\n", EipOld, Return);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert return to BOOLEAN */
|
/* Debugger didn't handle it, please handle! */
|
||||||
if (Return == kdDoNotHandleException) return FALSE;
|
if (Return == kdHandleException) return FALSE;
|
||||||
|
|
||||||
|
/* Debugger handled it */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -194,8 +196,10 @@ KdpCallGdb(IN PKTRAP_FRAME TrapFrame,
|
||||||
TrapFrame);
|
TrapFrame);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert return to BOOLEAN */
|
/* Debugger didn't handle it, please handle! */
|
||||||
if (Return == kdDoNotHandleException) return FALSE;
|
if (Return == kdHandleException) return FALSE;
|
||||||
|
|
||||||
|
/* Debugger handled it */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1479,7 +1479,7 @@ KdbEnterDebuggerException(
|
||||||
{
|
{
|
||||||
if (!EnterConditionMet)
|
if (!EnterConditionMet)
|
||||||
{
|
{
|
||||||
return kdDoNotHandleException;
|
return kdHandleException;
|
||||||
}
|
}
|
||||||
DbgPrint("Entered debugger on unexpected debug trap!\n");
|
DbgPrint("Entered debugger on unexpected debug trap!\n");
|
||||||
}
|
}
|
||||||
|
@ -1493,7 +1493,7 @@ KdbEnterDebuggerException(
|
||||||
}
|
}
|
||||||
if (!EnterConditionMet)
|
if (!EnterConditionMet)
|
||||||
{
|
{
|
||||||
return kdDoNotHandleException;
|
return kdHandleException;
|
||||||
}
|
}
|
||||||
|
|
||||||
DbgPrint("Entered debugger on embedded INT3 at 0x%04x:0x%08x.\n",
|
DbgPrint("Entered debugger on embedded INT3 at 0x%04x:0x%08x.\n",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue