MDB Architecture
This page describes the internal architecture of MDB and how the source code is related. At the moment, we are only able to provide a brief overview of the source code layout, but we will follow up with more specific documentation as it is written.
kmdb Architecture
A description of the design and implementation of kmdb can be found here.
Source Code Layout
The vast majority of the code for MDB resides within
usr/src/cmd/mdb. A
support driver for kmdb can be found in
usr/src/uts/common/io/kmdb.
The precise layout within these directories can be somewhat confusing, so here is a brief overview. We avoid discussing the MDB makefile system, as this is a family web site.
| Directory | Description |
|---|---|
| common/mdb | Core MDB infrastructure |
| common/kmdb | Core kmdb infrastructure |
| common/libstand | kmdb support code |
| common/libstandctf | kmdb support code |
| common/modules | Generic MDB modules (kernel and userland) |
| i86pc/modules | x86-specific MDB modules |
| intel/mdb | x86-specific MDB support code |
| intel/kmdb | x86-specific kmdb support code |
| sparc/mdb | SPARC-specific MDB support code |
| sparc/kmdb | SPARC-specific kmdb support code |
| sun4u/modules | sun4u-specific modules |
| sun4v/modules | sun4v-specific modules |
| demo | Sample module shipped as /usr/demo/mdb |
| tools | Tools used when building kmdb |
| uts/common/kmdb | kmdb support driver |
on 2009/10/26 12:28