Documentation Home
> Solaris Modular Debugger Guide
Solaris Modular Debugger Guide
Book Information
Index
Numbers and Symbols
A
B
C
D
E
F
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
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 Interaction
Command Re-entry
In-line Editing
Output Pager
Signal Handling
Chapter 5 Built-in Commands
Built-in dcmds
Chapter 6 Execution Control
Execution Control
Event Callbacks
Thread Support
Built-in dcmds
Interaction With exec
Interaction with Job Control
Process Attach and Release
Chapter 7 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
Networking
dcmds
Walkers
Files, Processes, and Threads
dcmds
Walkers
Synchronization Primitives
dcmds
Walkers
Cyclics
dcmds
Walkers
Task Queues
dcmds
Walkers
Error Queues
dcmds
Walkers
Configuration
dcmds
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
USB Framework Debugging Support (uhci)
dcmds
Walkers
USB Framework Debugging Support (usba)
dcmds
Walkers
x86: Platform Debugging Support (unix)
dcmds
Walkers
SPARC: sun4m Platform Debugging Support (unix)
dcmds
Walkers
SPARC: sun4u Platform Debugging Support (unix)
dcmds
Walkers
Chapter 8 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 9 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_fread() and mdb_fwrite()
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_nhconvert()
mdb_dumpptr() and mdb_dump64()
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
Operands
Exit Status
Environment Variables
Appendix B Notes
Warnings
Use of the Error Recovery Mechanism
Use of the Debugger to Modify the Live Operating System
Notes
Limitations on Examining Process Core Files
Limitations on Examining Crash Dump Files
Relationship Between 32-bit and 64-bit Debugger
Developer Information
Appendix C Transition From adb
Command-line Options
Syntax
Watchpoint Length Specifier
Address Map Modifier
Output
Appendix D Transition From crash
Command-line Options
Input in MDB
Functions
© 2010, Oracle Corporation and/or its affiliates