File tree Expand file tree Collapse file tree 4 files changed +22
-23
lines changed Expand file tree Collapse file tree 4 files changed +22
-23
lines changed Original file line number Diff line number Diff line change @@ -281,6 +281,10 @@ NTAPI
281
281
KdpReportExceptionStateChange (
282
282
IN PEXCEPTION_RECORD ExceptionRecord ,
283
283
IN OUT PCONTEXT Context ,
284
+ #ifndef _WINKD_
285
+ IN PKTRAP_FRAME TrapFrame ,
286
+ IN KPROCESSOR_MODE PreviousMode ,
287
+ #endif
284
288
IN BOOLEAN SecondChanceException
285
289
);
286
290
Original file line number Diff line number Diff line change @@ -39,15 +39,13 @@ KdpReportLoadSymbolsStateChange(IN PSTRING PathName,
39
39
40
40
BOOLEAN
41
41
NTAPI
42
- KdpReport (IN PKTRAP_FRAME TrapFrame ,
43
- IN PKEXCEPTION_FRAME ExceptionFrame ,
44
- IN PEXCEPTION_RECORD ExceptionRecord ,
45
- IN PCONTEXT ContextRecord ,
46
- IN KPROCESSOR_MODE PreviousMode ,
47
- IN BOOLEAN SecondChanceException )
42
+ KdpReportExceptionStateChange (IN PEXCEPTION_RECORD ExceptionRecord ,
43
+ IN OUT PCONTEXT ContextRecord ,
44
+ IN PKTRAP_FRAME TrapFrame ,
45
+ IN KPROCESSOR_MODE PreviousMode ,
46
+ IN BOOLEAN SecondChanceException )
48
47
{
49
48
KD_CONTINUE_TYPE Return = kdHandleException ;
50
-
51
49
#ifdef KDBG
52
50
/* Check if this is an assertion failure */
53
51
if (ExceptionRecord -> ExceptionCode == STATUS_ASSERTION_FAILURE )
@@ -275,6 +273,9 @@ KdDebuggerInitialize1(
275
273
/* Call the Wrapper Init Routine */
276
274
if (WrapperInitRoutine )
277
275
WrapperTable .KdpInitRoutine (& WrapperTable , 1 );
276
+
277
+ NtGlobalFlag |= FLG_STOP_ON_EXCEPTION ;
278
+
278
279
return STATUS_SUCCESS ;
279
280
}
280
281
Original file line number Diff line number Diff line change @@ -1728,13 +1728,13 @@ KdpReportCommandStringStateChange(IN PSTRING NameString,
1728
1728
}
1729
1729
#endif
1730
1730
1731
+ #ifdef _WINKD_
1731
1732
BOOLEAN
1732
1733
NTAPI
1733
1734
KdpReportExceptionStateChange (IN PEXCEPTION_RECORD ExceptionRecord ,
1734
1735
IN OUT PCONTEXT Context ,
1735
1736
IN BOOLEAN SecondChanceException )
1736
1737
{
1737
- #ifdef _WINKD_
1738
1738
STRING Header , Data ;
1739
1739
DBGKD_ANY_WAIT_STATE_CHANGE WaitStateChange ;
1740
1740
KCONTINUE_STATUS Status ;
@@ -1782,11 +1782,8 @@ KdpReportExceptionStateChange(IN PEXCEPTION_RECORD ExceptionRecord,
1782
1782
1783
1783
/* Return */
1784
1784
return Status ;
1785
- #else
1786
- UNIMPLEMENTED ;
1787
- return FALSE;
1788
- #endif
1789
1785
}
1786
+ #endif
1790
1787
1791
1788
VOID
1792
1789
NTAPI
@@ -1850,6 +1847,10 @@ KdpSwitchProcessor(IN PEXCEPTION_RECORD ExceptionRecord,
1850
1847
/* Report a state change */
1851
1848
Status = KdpReportExceptionStateChange (ExceptionRecord ,
1852
1849
ContextRecord ,
1850
+ #ifndef _WINKD_
1851
+ NULL ,
1852
+ KernelMode ,
1853
+ #endif
1853
1854
SecondChanceException );
1854
1855
1855
1856
/* Restore the port data and return */
Original file line number Diff line number Diff line change 47
47
48
48
/* FUNCTIONS *****************************************************************/
49
49
50
- #ifndef _WINKD_
51
- BOOLEAN
52
- NTAPI
53
- KdpReport (IN PKTRAP_FRAME TrapFrame ,
54
- IN PKEXCEPTION_FRAME ExceptionFrame ,
55
- IN PEXCEPTION_RECORD ExceptionRecord ,
56
- IN PCONTEXT ContextRecord ,
57
- IN KPROCESSOR_MODE PreviousMode ,
58
- IN BOOLEAN SecondChanceException );
59
- #else
60
50
BOOLEAN
61
51
NTAPI
62
52
KdpReport (IN PKTRAP_FRAME TrapFrame ,
@@ -126,6 +116,10 @@ KdpReport(IN PKTRAP_FRAME TrapFrame,
126
116
Handled = KdpReportExceptionStateChange (ExceptionRecord ,
127
117
& Prcb -> ProcessorState .
128
118
ContextFrame ,
119
+ #ifndef _WINKD_
120
+ TrapFrame ,
121
+ PreviousMode ,
122
+ #endif
129
123
SecondChanceException );
130
124
131
125
/* Now restore the processor state, manually again. */
@@ -139,7 +133,6 @@ KdpReport(IN PKTRAP_FRAME TrapFrame,
139
133
KdpControlCPressed = FALSE;
140
134
return Handled ;
141
135
}
142
- #endif
143
136
144
137
BOOLEAN
145
138
NTAPI
You can’t perform that action at this time.
0 commit comments