* Debugger modules now have two methods: enter_debugger() and exit_debugger().

* The kernel now opens up to 8 debugger modules (and puts them into an array;
  maybe we'll want to switch to a doubly linked list when there is the need).
* Implemented an example debugger module that prints a stack trace of the
  current thread when the kernel debugger is entered (not included in the
  image).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23794 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2008-01-31 12:25:43 +00:00
parent cee437c504
commit 3cec75dc33
7 changed files with 125 additions and 32 deletions
+11 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2007, Axel Dörfler, [email protected]
* Copyright 2002-2008, Axel Dörfler, [email protected]
* Distributed under the terms of the Haiku License.
*
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
@@ -10,6 +10,8 @@
#include <KernelExport.h>
#include <module.h>
#define KDEBUG 1
@@ -18,7 +20,7 @@
* The kernel debug level.
* Level 1 is usual asserts, > 1 should be used for very expensive runtime checks
*/
#define KDEBUG 1
# define KDEBUG 1
#endif
#define ASSERT_ALWAYS(x) \
@@ -42,6 +44,13 @@
#define B_KDEBUG_DONT_PARSE_ARGUMENTS (0x01)
struct debugger_module_info {
module_info info;
void (*enter_debugger)(void);
void (*exit_debugger)(void);
};
extern int dbg_register_file[B_MAX_CPU_COUNT][14];
#ifdef __cplusplus