{ KdbDoNotEnter, KdbEnterFromKmode }, /* 17: Alignment Check */
{ KdbDoNotEnter, KdbEnterFromKmode }, /* 18: Machine Check */
{ KdbDoNotEnter, KdbEnterFromKmode }, /* 19: SIMD fault */
- { KdbEnterAlways, KdbEnterAlways }, /* 20: Assertion failure */
+ { KdbEnterFromKmode, KdbDoNotEnter }, /* 20: Assertion failure */
{ KdbDoNotEnter, KdbEnterFromKmode } /* Last entry: used for unknown exceptions */
};
* Disables interrupts, releases display ownership, ...
*/
static VOID
-KdbpInternalEnter()
+KdbpInternalEnter(VOID)
{
PETHREAD Thread;
PVOID SavedInitialStack, SavedStackBase, SavedKernelStack;
KdbCurrentProcess = PsGetCurrentProcess();
/* Set continue type to kdContinue for single steps and breakpoints */
- if (ExceptionCode == STATUS_SINGLE_STEP || ExceptionCode == STATUS_BREAKPOINT)
+ if (ExceptionCode == STATUS_SINGLE_STEP ||
+ ExceptionCode == STATUS_BREAKPOINT ||
+ ExceptionCode == STATUS_ASSERTION_FAILURE)
+ {
ContinueType = kdContinue;
+ }
/* Check if we should handle the exception. */
/* FIXME - won't get all exceptions here :( */