2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: ntoskrnl/include/dbgk.h
5 * PURPOSE: Internal header for the User-Mode Debugging Backend
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
10 // Define this if you want debugging support
12 #define _DBGK_DEBUG_ 0x01
15 // These define the Debug Masks Supported
17 #define DBGK_THREAD_DEBUG 0x01
18 #define DBGK_PROCESS_DEBUG 0x02
19 #define DBGK_OBJECT_DEBUG 0x04
20 #define DBGK_MESSAGE_DEBUG 0x08
21 #define DBGK_EXCEPTION_DEBUG 0x10
24 // Debug/Tracing support
27 #ifdef NEW_DEBUG_SYSTEM_IMPLEMENTED // enable when Debug Filters are implemented
28 #define DBGKTRACE(x, ...) \
30 DbgPrintEx("%s [%.16s] - ", \
32 PsGetCurrentProcess()->ImageFileName); \
33 DbgPrintEx(__VA_ARGS__); \
36 #define DBGKTRACE(x, ...) \
37 if (x & DbgkpTraceLevel) \
39 DbgPrint("%s [%.16s] - ", \
41 PsGetCurrentProcess()->ImageFileName); \
42 DbgPrint(__VA_ARGS__); \
46 #define DBGKTRACE(x, ...) DPRINT(__VA_ARGS__);
66 IN NTSTATUS ExitStatus
72 IN NTSTATUS ExitStatus
80 IN ULONG SectionOffset
,
86 DbgkUnMapViewOfSection(
105 IN OUT PDBGKM_MSG ApiMsg
,
106 IN BOOLEAN SuspendProcess
111 DbgkpSectionToFileHandle(
117 DbgkCopyProcessDebugPort(
118 IN PEPROCESS Process
,
124 DbgkForwardException(
125 IN PEXCEPTION_RECORD ExceptionRecord
,
126 IN BOOLEAN DebugPort
,
127 IN BOOLEAN SecondChance
132 DbgkClearProcessDebugObject(
133 IN PEPROCESS Process
,
134 IN PDEBUG_OBJECT SourceDebugObject
137 extern ULONG DbgkpTraceLevel
;
138 extern POBJECT_TYPE DbgkDebugObjectType
;