15 #undef MmSystemRangeStart 22 #if defined(_M_IX86) || defined(_M_AMD64) 28 #define KPCR_SELF_PCR_OFFSET FIELD_OFFSET(KPCR, SelfPcr) 29 #define KPCR_CURRENT_PRCB_OFFSET FIELD_OFFSET(KPCR, Prcb) 30 #define KPCR_CONTAINED_PRCB_OFFSET FIELD_OFFSET(KPCR, PrcbData) 31 #define KPCR_INITIAL_STACK_OFFSET 0 32 #define KPCR_STACK_LIMIT_OFFSET 0 33 #define KPRCB_PCR_PAGE_OFFSET 0 34 #define CBSTACK_FRAME_POINTER Ebp 36 #elif defined(_M_AMD64) 38 #define KPCR_SELF_PCR_OFFSET FIELD_OFFSET(KPCR, Self) 39 #define KPCR_CURRENT_PRCB_OFFSET FIELD_OFFSET(KPCR, CurrentPrcb) 40 #define KPCR_CONTAINED_PRCB_OFFSET FIELD_OFFSET(KPCR, Prcb) 41 #define KPCR_INITIAL_STACK_OFFSET 0 42 #define KPCR_STACK_LIMIT_OFFSET 0 43 #define KPRCB_PCR_PAGE_OFFSET 0 44 #define CBSTACK_FRAME_POINTER Rbp 48 #define KPCR_SELF_PCR_OFFSET 0 49 #define KPCR_CURRENT_PRCB_OFFSET FIELD_OFFSET(KIPCR, Prcb) 50 #define KPCR_CONTAINED_PRCB_OFFSET 0 51 #define KPCR_INITIAL_STACK_OFFSET FIELD_OFFSET(KPCR, InitialStack) 52 #define KPCR_STACK_LIMIT_OFFSET FIELD_OFFSET(KPCR, StackLimit) 53 #define KPRCB_PCR_PAGE_OFFSET FIELD_OFFSET(KPRCB, PcrPage) 54 #define CBSTACK_FRAME_POINTER DummyFramePointer 57 #error Unsupported Architecture 501 #if defined(_M_AMD64) || defined(_M_ARM64) 506 IMAGE_FILE_MACHINE_NATIVE,
523 #if defined(_M_ARM) || defined(_M_AMD64) 632 KPCR_SELF_PCR_OFFSET,
633 KPCR_CURRENT_PRCB_OFFSET,
634 KPCR_CONTAINED_PRCB_OFFSET,
638 _WARN(
"KPCR_INITIAL_STACK_OFFSET, KPCR_STACK_LIMIT_OFFSET and KPRCB_PCR_PAGE_OFFSET not properly defined on ARM")
643 KPCR_INITIAL_STACK_OFFSET,
644 KPCR_STACK_LIMIT_OFFSET,
645 KPRCB_PCR_PAGE_OFFSET,
662 #elif defined(_M_AMD64)
BOOLEAN KdDebuggerEnabled
ULONG_PTR MmSubsectionBase
PFN_NUMBER MmResidentAvailablePages
#define MAX_KD_COMPONENT_TABLE_ENTRIES
SIZE_T MmtotalCommitLimitMaximum
CHAR KdpPathBuffer[0x1000]
CHAR KdpMessageBuffer[0x1000]
PMMPTE MmSystemPtesEnd[MaximumPtePoolTypes]
ULONG Kd_RTLTHREADPOOL_Mask
KSPIN_LOCK KdpDebuggerLock
ULONG IopNumTriageDumpDataBlocks
BOOLEAN KdPreviouslyEnabled
NTSTATUS NTAPI KiCallUserMode(IN PVOID *OutputBuffer, IN PULONG OutputLength)
BOOLEAN KdBreakAfterSymbolLoad
LARGE_INTEGER KdTimerStart
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 BreakpointsSuspended
ULONG_PTR KiBugCheckData[5]
VOID NTAPI RtlpBreakWithStatusInstruction(VOID)
PFN_NUMBER MmLowestPhysicalPage
#define CURRENT_KD_SECONDARY_VERSION
PVOID MmTriageActionTaken
PULONG KdComponentTable[MAX_KD_COMPONENT_TABLE_ENTRIES]
ULONG Kd_STORMINIPORT_Mask
PHANDLE_TABLE PspCidTable
LIST_ENTRY IopErrorLogListHead
PKDEBUG_SWITCH_ROUTINE KiDebugSwitchRoutine
LIST_ENTRY PsActiveProcessHead
PCHAR KdPrintCircularBuffer
PFN_NUMBER MmAvailablePages
MMPFNLIST MmZeroedPageListHead
MMPFNLIST MmStandbyPageListHead
POBJECT_DIRECTORY ObpRootDirectoryObject
SIZE_T MmAllocatedNonPagedPool
SIZE_T MmSizeOfPagedPoolInBytes
MMPFNLIST MmModifiedNoWritePageListHead
#define KD_BREAKPOINT_VALUE
#define KD_DEFAULT_LOG_BUFFER_SIZE
BOOLEAN KdDebuggerNotPresent
KSPIN_LOCK KdpTimeSlipEventLock
PVOID MmNonPagedSystemStart
ULONG_PTR KdpCurrentSymbolEnd
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
ULONG TraceDataBuffer[40]
ULONG Kd_DRIVEEXTENDER_Mask
SIZE_T MmTotalCommitLimit
LARGE_INTEGER KdTimerStop
KD_BREAKPOINT_TYPE KdpBreakpointInstruction
MM_PAGED_POOL_INFO MmPagedPoolInfo
MMSUPPORT MmSystemCacheWs
ULONG ExpNumberOfPagedPools
ULONG Kd_PRINTSPOOLER_Mask
KSPIN_LOCK KdpDataSpinLock
SIZE_T MmTotalCommittedPages
PLOADER_PARAMETER_BLOCK KeLoaderBlock
PPHYSICAL_MEMORY_DESCRIPTOR MmPhysicalMemoryBlock
PMMPTE MmSystemPtesStart[MaximumPtePoolTypes]
ULONG KdPrintBufferChanges
BOOLEAN KdpDebuggerStructuresInitialized
PPOOL_TRACKER_TABLE PoolTrackTable
PPOOL_DESCRIPTOR ExpPagedPoolDescriptor[16+1]
LIST_ENTRY PsLoadedModuleList
LIST_ENTRY KdpDebuggerDataListHead
struct _EPROCESS EPROCESS
POOL_DESCRIPTOR NonPagedPoolDescriptor
MMPFNLIST MmModifiedPageListHead
ULONG_PTR KdpCurrentSymbolStart
LIST_ENTRY KeBugcheckCallbackListHead
LIST_ENTRY MmLoadedUserImageList
ULONG KdComponentTableSize
ULONG Kd_WSOCKTRANSPORT_Mask
#define KD_BREAKPOINT_MAX
ULONG KdPrintRolloverCount
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
ULONG Kd_STORAGECLASSMEMORY_Mask
LARGE_INTEGER KdTimerDifference
PVOID IopTriageDumpDataBlocks[64]
PVOID MmNonPagedPoolStart
BOOLEAN(NTAPI * PKDEBUG_SWITCH_ROUTINE)(IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT Context, IN BOOLEAN SecondChance)
#define KD_BREAKPOINT_TYPE
BOOLEAN KdIgnoreUmExceptions
PFN_COUNT MmNumberOfPhysicalPages
BOOLEAN KdAutoEnableOnEvent
ULONG Kd_IHVSTREAMING_Mask
ULONG Kd_CRASHDUMPXHCI_Mask
WORK_QUEUE_ITEM KdpTimeSlipWorkItem
CHAR KdPrintDefaultCircularBuffer[KD_DEFAULT_LOG_BUFFER_SIZE]
PKPRCB KiProcessorBlock[]
_Out_ PKAPC_STATE ApcState
ULONG MmMaximumNonPagedPoolInBytes
#define FIELD_OFFSET(t, f)
BOOLEAN KdpControlCPressed
PVOID MmHighestUserAddress
LIST_ENTRY ExpSystemResourcesList
BOOLEAN KdEnteredDebugger
MM_DRIVER_VERIFIER_DATA MmVerifierData
ULONG MmNumberOfPagingFiles
ULONG TraceDataBufferPosition
static POBJECT_TYPE ObpTypeObjectType
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)
#define DBGKD_VERS_FLAG_DATA
PVOID MmLastUnloadedDrivers
LARGE_INTEGER KdPerformanceCounterRate
#define DBGKD_64BIT_PROTOCOL_VERSION2
ULONG KdpNumInternalBreakpoints
ULONG Kd_THREADORDER_Mask
PFN_NUMBER MmHighestPhysicalPage
PCHAR KdPrintWritePointer
MMPFNLIST MmFreePageListHead
KDDEBUGGER_DATA64 KdDebuggerDataBlock
#define MmSystemRangeStart
ULONG Kd_SCSIMINIPORT_Mask
PKDEBUG_ROUTINE KiDebugRoutine
DBGKD_GET_VERSION64 KdVersionBlock
BREAKPOINT_ENTRY KdpBreakpointTable[KD_BREAKPOINT_MAX]
#define DBGKD_VERS_FLAG_PTR64