Documentation Home
> Solaris Modular Debugger Guide
Solaris Modular Debugger Guide
Book Information
Preface
Chapter 1 Modular Debugger Overview
Introduction
MDB Features
Future Enhancements
Chapter 2 Debugger Concepts
Architecture
Building Blocks
Modularity
Chapter 3 Language Syntax
Syntax
Commands
Comments
Arithmetic Expansion
Unary Operators
Binary Operators
Quoting
Shell Escapes
Variables
Symbol Name Resolution
dcmd and Walker Name Resolution
dcmd Pipelines
Formatting dcmds
Chapter 4 Built-in Commands
Built-in dcmds
Chapter 5 Kernel Debugging Modules
Generic Kernel Debugging Support (genunix)
Kernel Memory Allocator
dcmds
Walkers
File Systems
dcmds
Walkers
Virtual Memory
dcmds
Walkers
CPUs and the Dispatcher
dcmds
Walkers
Device Drivers and DDI Framework
dcmds
Walkers
STREAMS
dcmds
Walkers
Files, Processes, and Threads
dcmds
Walkers
Synchronization Primitives
dcmds
Walkers
Cyclics
dcmds
Walkers
Interprocess Communication Debugging Support (ipc)
dcmds
Walkers
Loopback File System Debugging Support (lofs)
dcmds
Walkers
Internet Protocol Module Debugging Support (ip)
dcmds
Walkers
Kernel Runtime Link Editor Debugging Support (krtld)
dcmds
Walkers
IA: Platform Debugging Support (unix)
dcmds
Walkers
SPARC: sun4d Platform Debugging Support (unix)
dcmds
Walkers
SPARC: sun4m Platform Debugging Support (unix)
dcmds
Walkers
SPARC: sun4u Platform Debugging Support (unix)
dcmds
Walkers
Chapter 6 Debugging With the Kernel Memory Allocator
Getting Started: Creating a Sample Crash Dump
Setting kmem_flags
Forcing a Crash Dump
Starting MDB
Allocator Basics
Buffer States
Transactions
Sleeping and Non-Sleeping Allocations
Kernel Memory Caches
Kernel Memory Caches
Detecting Memory Corruption
Freed Buffer Checking: 0xdeadbeef
Redzone: 0xfeedface
Uninitialized Data: 0xbaddcafe
Associating Panic Messages With Failures
Memory Allocation Logging
Buftag Data Integrity
The bufctl Pointer
Advanced Memory Analysis
Finding Memory Leaks
Finding References to Data
Finding Corrupt Buffers With ::kmem_verify
Allocator Logging Facility
Chapter 7 Module Programming API
Debugger Module Linkage
_mdb_init()
_mdb_fini()
Dcmd Definitions
Walker Definitions
API Functions
mdb_pwalk()
mdb_walk()
mdb_pwalk_dcmd()
mdb_walk_dcmd()
mdb_call_dcmd()
mdb_layered_walk()
mdb_add_walker()
mdb_remove_walker()
mdb_vread() and mdb_vwrite()
mdb_pread() and mdb_pwrite()
mdb_readstr()
mdb_writestr()
mdb_readsym()
mdb_writesym()
mdb_readvar() and mdb_writevar()
mdb_lookup_by_name() and mdb_lookup_by_obj()
mdb_lookup_by_addr()
mdb_getopts()
mdb_strtoull()
mdb_alloc(), mdb_zalloc() and mdb_free()
mdb_printf()
Flag Specifiers
Field Width Specifiers
Integer Specifiers
Terminal Attribute Specifiers
Format Specifiers
mdb_snprintf()
mdb_warn()
mdb_flush()
mdb_one_bit()
mdb_inval_bits()
mdb_inc_indent() and mdb_dec_indent()
mdb_eval()
mdb_set_dot() and mdb_get_dot()
mdb_get_pipe()
mdb_set_pipe()
mdb_get_xdata()
Additional Functions
Appendix A Options
Summary of Command-line Options
Appendix B Transition From crash
Command-line Options
Input in MDB
Functions
Appendix C Solaris Modular Debugger Updates
Index
Numbers and Symbols
A
B
C
D
F
I
K
L
M
P
Q
R
S
T
U
V
W
© 2010, Oracle Corporation and/or its affiliates