xref: /386bsd/usr/share/man/cat4/kadb.0 (revision a2142627)
1KADB(4)                   386BSD Programmer's Manual                   KADB(4)
2
3NNAAMMEE
4     kkddbb - kernel debugging facility
5
6SSYYNNOOPPSSIISS
7     ooppttiioonnss
8     KKAADDBB
9
10DDEESSCCRRIIPPTTIIOONN
11     KKddbb is a debugging facility for the kernel based on adb(1).  KKddbb may be
12     used to symbolically examine and modify memory locations, set break-
13     points, and single step the system.
14
15     Several boot time options are used in conjunction with the debugger.  To
16     ``enable'' the debugger, the system must be booted with the RB_KDB flag
17     (0x40) specified in the _b_o_o_t_h_o_w_t_o register.  When the debugger is enabled
18     the system will read in and initialize the symbol table from the booted
19     system.  If the RB_HALT flag (0x08) is also specified, the system will
20     enter the debugger at the earliest possible time to allow breakpoints to
21     be set before the system starts operation.  From that point on, if the
22     RB_NOSYNC flag (0x04) is set, typing `^[k', `^[K', or `^[^K' at the con-
23     sole causes a trap into the debugger.
24
25     KKddbb supports most of the adb command language.  The output formats `f',
26     `F', `Y', are not supported.  The address space maps do not exist, thus
27     the `m', `m', and `m' commands do not exist.  Shell escapes and command
28     files are not supported.  The `r' and `k' commands make no sense and are
29     not recognized.  Finally, the signal arguments to the continue and single
30     step commands are ignored.
31
32NNOOTTEESS
33     KKddbb normally runs at a priority level below the interrupt level of the
34     clock and all devices; the level of the highest priority software inter-
35     rupt.  If the debugger is entered on the kernel's per-process stack at an
36     ipl below its normal operating level it automatically switches to the in-
37     terrupt stack to avoid potential overflow of the kernel stack.  Should
38     the debugger operate on the kernel stack the message `(on kernel stack)'
39     will be printed on entry.
40
41     Note also that because kkddbb uses input from the console to force entry to
42     the debugger it may not be possible to force entry if the system hangs at
43     a priority level higher than the console receiver interrupt.
44
45SSEEEE AALLSSOO
46     adb(1)
47
48HHIISSTTOORRYY
49     The kkddbb debugging facility currently under development.
50
51BSD Experimental                March 28, 1991                               2
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67