Remove dbg.h and move it to kd.h, it was getting confusing to have so many debug files. Also fixes hal to compile Modified: trunk/reactos/ntoskrnl/include/internal/debug.h Modified: trunk/reactos/ntoskrnl/include/internal/kd.h Modified: trunk/reactos/ntoskrnl/include/ntoskrnl.h _____
Modified: trunk/reactos/ntoskrnl/include/internal/debug.h --- trunk/reactos/ntoskrnl/include/internal/debug.h 2005-04-25 18:31:20 UTC (rev 14805) +++ trunk/reactos/ntoskrnl/include/internal/debug.h 2005-04-25 19:42:48 UTC (rev 14806) @@ -19,9 +19,7 @@
#define __INTERNAL_DEBUG
#include <internal/ntoskrnl.h> -#include <internal/dbg.h>
- #if defined(_MSC_VER) && (_MSC_VER < 1300) /* TODO: Verify which version the MS compiler learned the __FUNCTION__ macro */ #define __FUNCTION__ "<unknown>" _____
Modified: trunk/reactos/ntoskrnl/include/internal/kd.h --- trunk/reactos/ntoskrnl/include/internal/kd.h 2005-04-25 18:31:20 UTC (rev 14805) +++ trunk/reactos/ntoskrnl/include/internal/kd.h 2005-04-25 19:42:48 UTC (rev 14806) @@ -11,12 +11,88 @@
#include <ntdll/ldr.h>
struct _KD_DISPATCH_TABLE; +#define KdPrintEx(_x_) DbgPrintEx _x_
#ifdef DBG #include "kdgdb.h" #include "kdbochs.h" #endif
+/* SYMBOL ROUTINES **********************************************************/ + +#if defined(KDBG) || defined(DBG) + +VOID +KdbSymLoadUserModuleSymbols(IN PLDR_MODULE LdrModule); + +VOID +KdbSymFreeProcessSymbols(IN PEPROCESS Process); + +VOID +KdbSymLoadDriverSymbols(IN PUNICODE_STRING Filename, + IN PMODULE_OBJECT Module); + +VOID +KdbSymUnloadDriverSymbols(IN PMODULE_OBJECT ModuleObject); + +VOID +KdbSymProcessBootSymbols(IN PCHAR FileName); + +VOID +KdbSymInit(IN PMODULE_TEXT_SECTION NtoskrnlTextSection, + IN PMODULE_TEXT_SECTION LdrHalTextSection); + +BOOLEAN +KdbSymPrintAddress(IN PVOID Address); + +VOID +KdbDeleteProcessHook(IN PEPROCESS Process); + +NTSTATUS +KdbSymGetAddressInformation(IN PROSSYM_INFO RosSymInfo, + IN ULONG_PTR RelativeAddress, + OUT PULONG LineNumber OPTIONAL, + OUT PCH FileName OPTIONAL, + OUT PCH FunctionName OPTIONAL); + +typedef struct _KDB_MODULE_INFO +{ + WCHAR Name[256]; + ULONG_PTR Base; + ULONG Size; + PROSSYM_INFO RosSymInfo; +} KDB_MODULE_INFO, *PKDB_MODULE_INFO; + +/* MACROS FOR NON-KDBG BUILDS ************************************************/ + +# define KDB_LOADUSERMODULE_HOOK(LDRMOD) KdbSymLoadUserModuleSymbols(LDRMOD) +# define KDB_LOADDRIVER_HOOK(FILENAME, MODULE) KdbSymLoadDriverSymbols(FILENAME, MODULE) +# define KDB_UNLOADDRIVER_HOOK(MODULE) KdbSymUnloadDriverSymbols(MODULE) +# define KDB_LOADERINIT_HOOK(NTOS, HAL) KdbSymInit(NTOS, HAL) +# define KDB_SYMBOLFILE_HOOK(FILENAME) KdbSymProcessBootSymbols(FILENAME) +#else +# define KDB_LOADUSERMODULE_HOOK(LDRMOD) do { } while (0) +# define KDB_LOADDRIVER_HOOK(FILENAME, MODULE) do { } while (0) +# define KDB_UNLOADDRIVER_HOOK(MODULE) do { } while (0) +# define KDB_LOADERINIT_HOOK(NTOS, HAL) do { } while (0) +# define KDB_SYMBOLFILE_HOOK(FILENAME) do { } while (0) +# define KDB_CREATE_THREAD_HOOK(CONTEXT) do { } while (0) +#endif + +#ifdef KDBG +# define KeRosPrintAddress(ADDRESS) KdbSymPrintAddress(ADDRESS) +# define KdbInit() KdbpCliInit() +# define KdbModuleLoaded(FILENAME) KdbpCliModuleLoaded(FILENAME) +# define KDB_DELETEPROCESS_HOOK(PROCESS) KdbDeleteProcessHook(PROCESS) +#else +# define KeRosPrintAddress(ADDRESS) KiRosPrintAddress(ADDRESS) +# define KdbEnterDebuggerException(ER, PM, C, TF, F) kdHandleException +# define KdbInit() do { } while (0) +# define KdbEnter() do { } while (0) +# define KdbModuleLoaded(X) do { } while (0) +# define KDB_DELETEPROCESS_HOOK(PROCESS) do { } while (0) +#endif + /* KD ROUTINES ***************************************************************/
typedef enum _KD_CONTINUE_TYPE _____
Modified: trunk/reactos/ntoskrnl/include/ntoskrnl.h --- trunk/reactos/ntoskrnl/include/ntoskrnl.h 2005-04-25 18:31:20 UTC (rev 14805) +++ trunk/reactos/ntoskrnl/include/ntoskrnl.h 2005-04-25 19:42:48 UTC (rev 14806) @@ -53,7 +53,6 @@
#include <internal/ifs.h> #include <internal/port.h> #include <internal/nls.h> -#include <internal/dbg.h> #ifdef KDBG #include <internal/kdb.h> #endif