15#define KD_DEFAULT_LOG_BUFFER_SIZE 0x8000
17#define KD_DEFAULT_LOG_BUFFER_SIZE 0x1000
23#define KDP_MSG_BUFFER_SIZE 0x1000
28#define KD_BREAKPOINT_MAX 32
40#define KD_HIGHEST_USER_BREAKPOINT_ADDRESS (PVOID)0x60000000
45#define KD_BREAKPOINT_ACTIVE 0x01
46#define KD_BREAKPOINT_PENDING 0x02
47#define KD_BREAKPOINT_SUSPENDED 0x04
48#define KD_BREAKPOINT_EXPIRED 0x08
566#define MAX_KD_COMPONENT_TABLE_ENTRIES (DPFLTR_ENDOFTABLE_ID + 1)
_In_ PVOID _In_ ULONG _Out_ PVOID _In_ ULONG _Inout_ PULONG _In_ KPROCESSOR_MODE PreviousMode
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char const char UINT32 ComponentId
static VOID NTAPI Unload(PDRIVER_OBJECT DriverObject)
enum _INTERFACE_TYPE INTERFACE_TYPE
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)
#define KD_BREAKPOINT_MAX
VOID NTAPI KdpCommandString(IN PSTRING NameString, IN PSTRING CommandString, IN KPROCESSOR_MODE PreviousMode, IN PCONTEXT ContextRecord, IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
ULONG Kd_STORMINIPORT_Mask
BREAKPOINT_ENTRY KdpBreakpointTable[KD_BREAKPOINT_MAX]
NTSTATUS NTAPI KdpSysWriteBusData(_In_ BUS_DATA_TYPE BusDataType, _In_ ULONG BusNumber, _In_ ULONG SlotNumber, _In_ ULONG Offset, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _Out_ PULONG ActualLength)
VOID NTAPI KdpSuspendBreakPoint(IN ULONG BpEntry)
#define MAX_KD_COMPONENT_TABLE_ENTRIES
BOOLEAN KdPreviouslyEnabled
BOOLEAN NTAPI KdInitSystem(_In_ ULONG BootPhase, _In_opt_ PLOADER_PARAMETER_BLOCK LoaderBlock)
ULONG TraceDataBufferPosition
ULONG Kd_DRIVEEXTENDER_Mask
BOOLEAN NTAPI KdpDeleteBreakpointRange(IN PVOID Base, IN PVOID Limit)
BOOLEAN NTAPI KdpPollBreakInWithPortLock(VOID)
NTSTATUS NTAPI KdDisableDebuggerWithLock(IN BOOLEAN NeedLock)
ULONG KdPrintRolloverCount
struct _BREAKPOINT_ENTRY BREAKPOINT_ENTRY
#define KD_DEFAULT_LOG_BUFFER_SIZE
LARGE_INTEGER KdTimerStop
BOOLEAN(NTAPI * PKDEBUG_ROUTINE)(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame, IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT Context, IN KPROCESSOR_MODE PreviousMode, IN BOOLEAN SecondChance)
KSPIN_LOCK KdpPrintSpinLock
ULONG KdPrintBufferChanges
LARGE_INTEGER KdPerformanceCounterRate
ULONG_PTR KdpCurrentSymbolEnd
BOOLEAN KdBreakAfterSymbolLoad
BOOLEAN KdEnteredDebugger
VOID NTAPI KdpPortLock(VOID)
VOID NTAPI KdpSetContextState(IN PDBGKD_ANY_WAIT_STATE_CHANGE WaitStateChange, IN PCONTEXT Context)
VOID NTAPI KdLogDbgPrint(_In_ PSTRING String)
NTSTATUS NTAPI KdpSysCheckLowMemory(IN ULONG Flags)
NTSTATUS NTAPI KdpSysWriteIoSpace(_In_ INTERFACE_TYPE InterfaceType, _In_ ULONG BusNumber, _In_ ULONG AddressSpace, _In_ ULONG64 IoAddress, _In_reads_bytes_(DataSize) PVOID DataValue, _In_ ULONG DataSize, _Out_ PULONG ActualDataSize)
ULONG Kd_WSOCKTRANSPORT_Mask
NTSTATUS NTAPI KdpSysWriteMsr(_In_ ULONG Msr, _In_ PULONGLONG MsrValue)
ULONG Kd_CRASHDUMPXHCI_Mask
NTSTATUS NTAPI KdpSysReadMsr(_In_ ULONG Msr, _Out_ PULONGLONG MsrValue)
NTSTATUS NTAPI KdpSysReadControlSpace(_In_ ULONG Processor, _In_ ULONG64 BaseAddress, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _Out_ PULONG ActualLength)
ULONG Kd_PRINTSPOOLER_Mask
VOID NTAPI KdpGetStateChange(IN PDBGKD_MANIPULATE_STATE64 State, IN PCONTEXT Context)
BOOLEAN BreakpointsSuspended
ULONG KdComponentTableSize
BOOLEAN NTAPI KdpPrintString(_In_ PSTRING Output)
NTSTATUS NTAPI KdpSysReadBusData(_In_ BUS_DATA_TYPE BusDataType, _In_ ULONG BusNumber, _In_ ULONG SlotNumber, _In_ ULONG Offset, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _Out_ PULONG ActualLength)
DBGKD_GET_VERSION64 KdVersionBlock
VOID NTAPI KdpTimeSlipWork(IN PVOID Context)
PCHAR KdPrintWritePointer
KCONTINUE_STATUS NTAPI KdReportProcessorChange(VOID)
#define KDP_MSG_BUFFER_SIZE
BOOLEAN NTAPI KdpReportExceptionStateChange(IN PEXCEPTION_RECORD ExceptionRecord, IN OUT PCONTEXT Context, IN BOOLEAN SecondChanceException)
LARGE_INTEGER KdTimerStart
VOID NTAPI KdSetOwedBreakpoints(VOID)
KSPIN_LOCK KdpDebuggerLock
VOID NTAPI KdpReportCommandStringStateChange(IN PSTRING NameString, IN PSTRING CommandString, IN OUT PCONTEXT Context)
BOOLEAN KdIgnoreUmExceptions
PKDEBUG_ROUTINE KiDebugRoutine
ULONG_PTR KdpCurrentSymbolStart
KSPIN_LOCK KdpTimeSlipEventLock
NTSTATUS NTAPI KdpSysWriteControlSpace(_In_ ULONG Processor, _In_ ULONG64 BaseAddress, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _Out_ PULONG ActualLength)
ULONG TraceDataBuffer[40]
VOID NTAPI KdpReportLoadSymbolsStateChange(IN PSTRING PathName, IN PKD_SYMBOLS_INFO SymbolInfo, IN BOOLEAN Unload, IN OUT PCONTEXT Context)
VOID NTAPI KdpZeroMemory(_In_ PVOID Destination, _In_ SIZE_T Length)
CHAR KdPrintDefaultCircularBuffer[KD_DEFAULT_LOG_BUFFER_SIZE]
VOID NTAPI KdpPortUnlock(VOID)
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)
ULONG Kd_IHVSTREAMING_Mask
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)
WORK_QUEUE_ITEM KdpTimeSlipWorkItem
KD_BREAKPOINT_TYPE KdpBreakpointInstruction
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)
KDDEBUGGER_DATA64 KdDebuggerDataBlock
ULONG Kd_RTLTHREADPOOL_Mask
VOID NTAPI KdpRestoreAllBreakpoints(VOID)
VOID NTAPI KdUpdateDataBlock(VOID)
struct _BREAKPOINT_ENTRY * PBREAKPOINT_ENTRY
ULONG Kd_THREADORDER_Mask
NTSTATUS NTAPI KdpCopyMemoryChunks(_In_ ULONG64 Address, _In_ PVOID Buffer, _In_ ULONG TotalSize, _In_ ULONG ChunkSize, _In_ ULONG Flags, _Out_opt_ PULONG ActualSize)
BOOLEAN NTAPI KdEnterDebugger(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
VOID NTAPI KdExitDebugger(IN BOOLEAN Enable)
BOOLEAN KdpControlCPressed
VOID NTAPI KdpSysGetVersion(_Out_ PDBGKD_GET_VERSION64 Version)
KSPIN_LOCK KdpDataSpinLock
ULONG KdpNumInternalBreakpoints
VOID NTAPI KdpMoveMemory(_In_ PVOID Destination, _In_ PVOID Source, _In_ SIZE_T Length)
CHAR KdpPathBuffer[KDP_MSG_BUFFER_SIZE]
CHAR KdpMessageBuffer[KDP_MSG_BUFFER_SIZE]
PULONG KdComponentTable[MAX_KD_COMPONENT_TABLE_ENTRIES]
LIST_ENTRY KdpDebuggerDataListHead
PCHAR KdPrintCircularBuffer
ULONG Kd_SCSIMINIPORT_Mask
BOOLEAN NTAPI KdIsThisAKdTrap(IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT Context, IN KPROCESSOR_MODE PreviousMode)
ULONG NTAPI KdpAddBreakpoint(IN PVOID Address)
BOOLEAN KdpDebuggerStructuresInitialized
VOID NTAPI KdpTimeSlipDpcRoutine(IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
NTSTATUS NTAPI KdEnableDebuggerWithLock(IN BOOLEAN NeedLock)
NTSTATUS NTAPI KdpAllowDisable(VOID)
NTSTATUS NTAPI KdpSysReadIoSpace(_In_ INTERFACE_TYPE InterfaceType, _In_ ULONG BusNumber, _In_ ULONG AddressSpace, _In_ ULONG64 IoAddress, _Out_writes_bytes_(DataSize) PVOID DataValue, _In_ ULONG DataSize, _Out_ PULONG ActualDataSize)
BOOLEAN NTAPI KdpDeleteBreakpoint(IN ULONG BpEntry)
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)
VOID NTAPI KdpSuspendAllBreakPoints(VOID)
LARGE_INTEGER KdTimerDifference
ULONG Kd_STORAGECLASSMEMORY_Mask
BOOLEAN KdAutoEnableOnEvent
static const char const char * DllPath
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
enum _KCONTINUE_STATUS KCONTINUE_STATUS
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
#define _In_reads_bytes_(s)
#define _Out_writes_bytes_(s)
_IRQL_requires_same_ _In_ PVOID _Inout_ struct _CONTEXT * ContextRecord
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
#define KD_BREAKPOINT_TYPE
enum _BUS_DATA_TYPE BUS_DATA_TYPE
KD_BREAKPOINT_TYPE Content
ULONG_PTR DirectoryTableBase
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
_Must_inspect_result_ _In_ ULONG Flags
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG AddressSpace
_In_ ULONG MaximumResponseLength
_In_ LONG _In_ LONG Limit
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
_In_opt_ PVOID DeferredContext
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
_Inout_ PUCHAR _In_ PUCHAR _Out_ PUCHAR _Out_ PULONG ChunkSize