3 (NTAPI
*PKDEBUG_ROUTINE
)(
4 IN PKTRAP_FRAME TrapFrame
,
5 IN PKEXCEPTION_FRAME ExceptionFrame
,
6 IN PEXCEPTION_RECORD ExceptionRecord
,
8 IN KPROCESSOR_MODE PreviousMode
,
9 IN BOOLEAN SecondChance
14 (NTAPI
*PKDEBUG_SWITCH_ROUTINE
)(
15 IN PEXCEPTION_RECORD ExceptionRecord
,
17 IN BOOLEAN SecondChance
22 KdpEnterDebuggerException(
23 IN PKTRAP_FRAME TrapFrame
,
24 IN PKEXCEPTION_FRAME ExceptionFrame
,
25 IN PEXCEPTION_RECORD ExceptionRecord
,
27 IN KPROCESSOR_MODE PreviousMode
,
28 IN BOOLEAN SecondChance
40 IN PEXCEPTION_RECORD ExceptionRecord
,
41 IN OUT PCONTEXT ContextRecord
,
42 IN BOOLEAN SecondChanceException
47 KdpTimeSlipDpcRoutine(
49 IN PVOID DeferredContext
,
50 IN PVOID SystemArgument1
,
51 IN PVOID SystemArgument2
57 IN PKTRAP_FRAME TrapFrame
,
58 IN PKEXCEPTION_FRAME ExceptionFrame
,
59 IN PEXCEPTION_RECORD ExceptionRecord
,
60 IN PCONTEXT ContextRecord
,
61 IN KPROCESSOR_MODE PreviousMode
,
62 IN BOOLEAN SecondChanceException
68 IN PKTRAP_FRAME TrapFrame
,
69 IN PKEXCEPTION_FRAME ExceptionFrame
,
70 IN PEXCEPTION_RECORD ExceptionRecord
,
71 IN PCONTEXT ContextRecord
,
72 IN KPROCESSOR_MODE PreviousMode
,
73 IN BOOLEAN SecondChanceException
91 IN PKTRAP_FRAME TrapFrame
,
92 IN PKEXCEPTION_FRAME ExceptionFrame
103 KdEnableDebuggerWithLock(
110 IN ULONG ComponentId
,
111 IN ULONG ComponentMask
,
114 IN KPROCESSOR_MODE PreviousMode
,
115 IN PKTRAP_FRAME TrapFrame
,
116 IN PKEXCEPTION_FRAME ExceptionFrame
,
124 IN PKD_SYMBOLS_INFO DllBase
,
126 IN KPROCESSOR_MODE PreviousMode
,
127 IN PCONTEXT ContextRecord
,
128 IN PKTRAP_FRAME TrapFrame
,
129 IN PKEXCEPTION_FRAME ExceptionFrame
134 KdpPollBreakInWithPortLock(
140 KdpReportLoadSymbolsStateChange(
142 IN PKD_SYMBOLS_INFO SymbolInfo
,
144 IN OUT PCONTEXT Context
147 extern DBGKD_GET_VERSION64 KdVersionBlock
;
148 extern KDDEBUGGER_DATA64 KdDebuggerDataBlock
;
149 extern LIST_ENTRY KdpDebuggerDataListHead
;
150 extern KSPIN_LOCK KdpDataSpinLock
;
151 extern LARGE_INTEGER KdPerformanceCounterRate
;
152 extern LARGE_INTEGER KdTimerStart
;
153 extern ULONG KdDisableCount
;
154 extern KD_CONTEXT KdpContext
;
155 extern PKDEBUG_ROUTINE KiDebugRoutine
;
156 extern PKDEBUG_SWITCH_ROUTINE KiDebugSwitchRoutine
;
157 extern BOOLEAN KdBreakAfterSymbolLoad
;
158 extern BOOLEAN KdPitchDebugger
;
159 extern BOOLEAN _KdDebuggerNotPresent
;
160 extern BOOLEAN _KdDebuggerEnabled
;
161 extern BOOLEAN KdAutoEnableOnEvent
;
162 extern BOOLEAN KdPreviouslyEnabled
;
163 extern BOOLEAN KdpDebuggerStructuresInitialized
;
164 extern BOOLEAN KdEnteredDebugger
;
165 extern KDPC KdpTimeSlipDpc
;
166 extern KTIMER KdpTimeSlipTimer
;
167 extern WORK_QUEUE_ITEM KdpTimeSlipWorkItem
;
168 extern LONG KdpTimeSlipPending
;
169 extern PKEVENT KdpTimeSlipEvent
;
170 extern KSPIN_LOCK KdpTimeSlipEventLock
;
171 extern BOOLEAN KdpControlCPressed
;
172 extern BOOLEAN KdpControlCWaiting
;
173 extern BOOLEAN KdpPortLocked
;
174 extern KSPIN_LOCK KdpDebuggerLock
;
175 extern LARGE_INTEGER KdTimerStop
, KdTimerStart
, KdTimerDifference
;
176 extern ULONG KdComponentTableSize
;
177 extern ULONG Kd_WIN2000_Mask
;
178 extern PULONG KdComponentTable
[104];
179 extern CHAR KdpMessageBuffer
[4096], KdpPathBuffer
[4096];