xref: /illumos-gate/usr/src/man/man8/kadb.8 (revision bbf21555)
te
Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
KADB 8 "Dec 9, 2017"
NAME
kadb - a kernel debugger
SYNOPSIS
"SPARC"

ok boot device_specifier kadb [-d] [boot-flags]
"x86"

select (b)oot or (i)nterpreter: b kadb [-d] [boot-flags]
DESCRIPTION

kadb, an interactive kernel debugger, has been replaced by kmdb(1). For backwards compatibility, the methods used to load kadb will be interpreted as requests to load kmdb(1). Unlike with the compatibility link from adb(1) to mdb(1), kmdb(1) will always load in its native user interface mode, regardless of the name used to load it.

kmdb(1) is based on mdb(1), and thus shares mdb's user interface style and feature set. The mdb(1) man page describes the features and operation of mdb. The kmdb(1) man page describes the differences between mdb and kmdb. This man page describes the major changes and incompatibilities between kadb and kmdb.

Consult the Modular Debugger Guide for a detailed description of both mdb and kmdb.

"Major changes"

This section briefly lists the major differences between kadb and kmdb. It is not intended to be exhaustive. Debugger Loading and Unloading

kmdb(1) may be loaded at boot, as with kadb. It may also be loaded after boot, thus allowing for kernel debugging and execution control without requiring a system reboot. If kmdb(1) is loaded after boot, it may be unloaded.

mdb Feature Set

The features introduced by mdb(1), including access to kernel type data, debugger commands (dcmds), debugger modules (dmods), and enhanced execution control facilities, are available under kmdb(1). Support for changing the representative CPU (:x) is available for both SPARC and x86. Furthermore, full execution-control facilities are available after the representative CPU has been changed.

"Significant Incompatibilities"

This section lists the significant features that have changed incompatibly between kadb and kmdb(1). It is not intended to be exhaustive. All kmdb(1) commands referenced here are fully described in the kmdb(1) man page. A description as well as examples can be found in the Modular Debugger Guide. Deferred Breakpoints

The kadb-style "module#symbol:b" syntax is not supported under kmdb(1). Instead, use "::bp module`symbol".

Watchpoints

The ::wp dcmd is the preferred way to set watchpoint with kmdb. Various options are available to control the type of watchpoint set, including -p for physical watchpoints (SPARC only), and -i for I/O port watchpoints (x86 only). $l is not supported, therefore, the watchpoint size must be specified for each watchpoint created.

Access to I/O Ports (x86 only)

The commands used to access I/O ports under kadb have been replaced with the ::in and ::out dcmds. These two dcmds allow both read and write of all I/O port sizes supported by kadb.

SEE ALSO

adb (1), kmdb (1), mdb (1), attributes (7)

Modular Debugger Guide:

https://illumos.org/books/mdb/