|
|
1.1 root 1: .\" Copyright (c) 1986 Regents of the University of California.
2: .\" All rights reserved. The Berkeley software License Agreement
3: .\" specifies the terms and conditions for redistribution.
4: .\"
5: .\" @(#)kdb.4 6.1 (Berkeley) 11/24/86
6: .\"
7: .TH KDB 4 "November 24, 1986"
8: .UC 7
9: .SH NAME
10: kdb \- kernel debugging facility
11: .SH SYNOPSIS
12: .B "options KDB"
13: .SH DESCRIPTION
14: .lg
15: .I Kdb
16: is a debugging facility for the kernel based on
17: .IR adb (1).
18: .I Kdb
19: may be used to symbolically examine and modify memory locations,
20: set breakpoints, and single step the system.
21: .PP
22: Several boot time options are used in conjunction
23: with the debugger. To ``enable'' the debugger, the system
24: must be booted with the RB_KDB flag (0x40) specified in the
25: .I boothowto
26: register. When the debugger is
27: enabled the system will read
28: in and initialize the symbol table from the booted system.
29: If the RB_HALT flag (0x08) is also specified, the system will
30: enter the debugger at the earliest possible time to allow
31: breakpoints to be set before the system starts operation.
32: From that point on, if the RB_NOSYNC flag (0x04) is set,
33: typing ``^[k'', ``^[K'', or ``^[^K'' at the
34: console causes a trap into the debugger.
35: .PP
36: .I Kdb
37: supports most of the
38: .I adb
39: command language. The output formats `f', `F', `Y', are not
40: supported. The address space maps do not exist, thus the
41: `/m', `?m', and `$m' commands do not exist. Shell escapes
42: and command files are not supported. The `:r' and `:k'
43: commands make no sense and are not recognized. Finally, the
44: signal arguments to the continue and single step commands are
45: ignored.
46: .SH NOTES
47: .I Kdb
48: normally runs at a priority level below the interrupt
49: level of the clock and all devices; the level of the highest priority
50: software interrupt. If the debugger is entered on the kernel's
51: per-process stack at an ipl below its normal operating level it
52: automatically switches to the interrupt stack to avoid potential
53: overflow of the kernel stack. Should the debugger operate on
54: the kernel stack the message ``(on kernel stack)'' will be printed
55: on entry.
56: .PP
57: Note also that because
58: .I kdb
59: use input from the console to force entry to the debugger it may
60: not be possible to force entry if the system hangs at a priority
61: level higher than the console receiver interrupt.
62: .SH "SEE ALSO"
63: adb(1)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.