25#define KdpGetParameterThree(Context) ((Context)->Ebx)
26#define KdpGetParameterFour(Context) ((Context)->Edi)
33#define KdpGetParameterThree(Context) ((Context)->R8)
34#define KdpGetParameterFour(Context) ((Context)->R9)
41#define KdpGetParameterThree(Context) ((Context)->R3)
42#define KdpGetParameterFour(Context) ((Context)->R4)
45#error Unsupported Architecture
85 if ((SecondChanceException ==
FALSE) &&
93 else if (SecondChanceException ==
FALSE)
119 SecondChanceException);
161 switch (ExceptionRecord->ExceptionInformation[0])
169 (
PCHAR)ExceptionRecord->ExceptionInformation[1],
170 (
USHORT)ExceptionRecord->ExceptionInformation[2],
185 (
USHORT)ExceptionRecord->ExceptionInformation[2],
222 (
PSTRING)ExceptionRecord->ExceptionInformation[2],
257 SecondChanceException);
276 ExceptionCommand = ExceptionRecord->ExceptionInformation[0];
278 (ExceptionRecord->NumberParameters > 0) &&
306 SecondChanceException);
327 (ExceptionRecord->NumberParameters > 0) &&
_Inout_ PIRP _In_ NTSTATUS ExceptionCode
#define NT_SUCCESS(StatCode)
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
static VOID NTAPI Unload(PDRIVER_OBJECT DriverObject)
#define FLG_STOP_ON_EXCEPTION
VOID NTAPI KdpCommandString(IN PSTRING NameString, IN PSTRING CommandString, IN KPROCESSOR_MODE PreviousMode, IN PCONTEXT ContextRecord, IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
BOOLEAN KdPreviouslyEnabled
BOOLEAN NTAPI KdpReportExceptionStateChange(IN PEXCEPTION_RECORD ExceptionRecord, IN OUT PCONTEXT Context, IN BOOLEAN SecondChanceException)
NTSTATUS NTAPI KdpPrint(_In_ ULONG ComponentId, _In_ ULONG Level, _In_reads_bytes_(Length) PCHAR String, _In_ USHORT Length, _In_ KPROCESSOR_MODE PreviousMode, _In_ PKTRAP_FRAME TrapFrame, _In_ PKEXCEPTION_FRAME ExceptionFrame, _Out_ PBOOLEAN Handled)
VOID NTAPI KdpSymbol(IN PSTRING DllPath, IN PKD_SYMBOLS_INFO SymbolInfo, IN BOOLEAN Unload, IN KPROCESSOR_MODE PreviousMode, IN PCONTEXT ContextRecord, IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
BOOLEAN NTAPI KdEnterDebugger(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
VOID NTAPI KdExitDebugger(IN BOOLEAN Enable)
BOOLEAN KdpControlCPressed
VOID NTAPI KdpMoveMemory(_In_ PVOID Destination, _In_ PVOID Source, _In_ SIZE_T Length)
USHORT NTAPI KdpPrompt(_In_reads_bytes_(PromptLength) PCHAR PromptString, _In_ USHORT PromptLength, _Out_writes_bytes_(MaximumResponseLength) PCHAR ResponseString, _In_ USHORT MaximumResponseLength, _In_ KPROCESSOR_MODE PreviousMode, _In_ PKTRAP_FRAME TrapFrame, _In_ PKEXCEPTION_FRAME ExceptionFrame)
BOOLEAN KdAutoEnableOnEvent
NTSTATUS NTAPI KdEnableDebugger(VOID)
BOOLEAN KdDebuggerEnabled
BOOLEAN NTAPI KdpTrap(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame, IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT ContextRecord, IN KPROCESSOR_MODE PreviousMode, IN BOOLEAN SecondChanceException)
BOOLEAN NTAPI KdpStub(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame, IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT ContextRecord, IN KPROCESSOR_MODE PreviousMode, IN BOOLEAN SecondChanceException)
BOOLEAN NTAPI KdpReport(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame, IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT ContextRecord, IN KPROCESSOR_MODE PreviousMode, IN BOOLEAN SecondChanceException)
BOOLEAN NTAPI KdIsThisAKdTrap(IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT Context, IN KPROCESSOR_MODE PreviousMode)
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
#define BREAKPOINT_COMMAND_STRING
#define BREAKPOINT_LOAD_SYMBOLS
#define BREAKPOINT_UNLOAD_SYMBOLS
#define BREAKPOINT_PROMPT
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT * ContextRecord
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
#define KD_BREAKPOINT_SIZE
#define KeSetContextReturnRegister(Context, ReturnValue)
#define KeSetContextPc(Context, ProgramCounter)
#define KeGetContextPc(Context)
VOID NTAPI KiRestoreProcessorControlState(IN PKPROCESSOR_STATE ProcessorState)
VOID NTAPI KiSaveProcessorControlState(OUT PKPROCESSOR_STATE ProcessorState)
#define STATUS_ASSERTION_FAILURE
#define STATUS_SINGLE_STEP
#define STATUS_BREAKPOINT
#define STATUS_PORT_DISCONNECTED
KPROCESSOR_STATE ProcessorState
_In_ KPROCESSOR_MODE PreviousMode