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
575#define MAX_KD_COMPONENT_TABLE_ENTRIES (DPFLTR_ENDOFTABLE_ID + 1)
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)
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]
VOID NTAPI KdpSuspendBreakPoint(IN ULONG BpEntry)
NTSTATUS NTAPI KdpSysReadBusData(IN ULONG BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length, OUT PULONG ActualLength)
#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
NTSTATUS NTAPI KdpSysReadControlSpace(IN ULONG Processor, IN ULONG64 BaseAddress, IN PVOID Buffer, IN ULONG Length, OUT PULONG ActualLength)
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)
ULONG Kd_WSOCKTRANSPORT_Mask
ULONG Kd_CRASHDUMPXHCI_Mask
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)
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
NTSTATUS NTAPI KdpSysWriteBusData(IN ULONG BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length, OUT PULONG ActualLength)
VOID NTAPI KdSetOwedBreakpoints(VOID)
KSPIN_LOCK KdpDebuggerLock
NTSTATUS NTAPI KdpSysWriteMsr(IN ULONG Msr, IN PLARGE_INTEGER MsrValue)
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 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)
NTSTATUS NTAPI KdpSysReadMsr(IN ULONG Msr, OUT PLARGE_INTEGER MsrValue)
VOID NTAPI KdUpdateDataBlock(VOID)
struct _BREAKPOINT_ENTRY * PBREAKPOINT_ENTRY
ULONG Kd_THREADORDER_Mask
NTSTATUS NTAPI KdpSysWriteIoSpace(IN ULONG InterfaceType, IN ULONG BusNumber, IN ULONG AddressSpace, IN ULONG64 IoAddress, IN PVOID DataValue, IN ULONG DataSize, OUT PULONG ActualDataSize)
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
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 KdpSysReadIoSpace(IN ULONG InterfaceType, IN ULONG BusNumber, IN ULONG AddressSpace, IN ULONG64 IoAddress, IN PVOID DataValue, IN ULONG DataSize, OUT PULONG ActualDataSize)
NTSTATUS NTAPI KdpAllowDisable(VOID)
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
VOID NTAPI KdpSysGetVersion(IN PDBGKD_GET_VERSION64 Version)
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
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
#define KD_BREAKPOINT_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
_In_ KPROCESSOR_MODE PreviousMode