mdb was introduced in Solaris 8 as a replacement for the adb and crash commands
Besides being able to analyze a core dump in the same way as adb, mdb is a modular debugger which allows the end user to create custom tools and commands to do almost anything.
The modularity of mdb is its main strength. Modules can allow us to look at programs in a number of contexts, both live and post-mortem. These tools are located in loadable modules which can be accessed via dlopen(). These modules are called dmods and include both dcmds (commands) and walkers. ("Walker" commands allow mdb to change the target to a different part of the program structure.)
mdb also has a number of good interactive features, including command line history, editing and logging. In addition, there is a syntax-checking facility and a built-in output pager.
Example: Analyze a core dump
root@ # mdb -k unix.3 vmcore.3
SEGURIDAD EN EL KERNEL /etc/system
* For certain classes of bug exploits
set noexec_user_stack = 1
* Log attempted exploits
set noexec_user_stack_log = 1
* File Descriptor parameter set for SAP
* ZFS arch cache to 128G RAM