|
|
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.