----[ Searching for commands ]----

MDB has a great number of commands and scripts that you can chain
into pipelines and also interpose with shell commands such as grep
or any filtering scripts you might want to write in Perl or Python.     

A trick to search for relevant commands in MDB is to grep the output of
::dcmds  and  ::dmods -l  commands, say, "::dmods -l ! grep mem".

Note that there are two ways to pipeline commands: within MDB (with "|")
and into the shell (with "!"). The mdb-reference-chapter.pdf gives
examples in 3.3.11, 3.3.12, 3.3.15, and 3.4.11.

Also note that the mdb-reference-chapter.pdf covers both userland
executables and the kernel; for your exploration of the latter,
many commands would not work, e.g., ::regs would always show 0s,
and, unfortunately, you cannot set breakpoints in the kernel (you
can use DTrace for that, though). 

----[ Walkers ]----

You will see many "walkers" that allow a printing command to iterate over
a series of related, connected structures by way of piping their results
to other DCMD commands (this is different from piping-to-shell via "!" as
with "! grep " above).  

Read about walkers in https://blogs.oracle.com/jwadams/entry/an_mdb_1_cheat_sheet,
mdb-reference-chapter.pdf, or the full MDB Guide.
[Note: there exist many versions of the MDB Guide: 
          http://docs.oracle.com/cd/E18752_01/html/816-5041/ 
          http://docs.oracle.com/cd/E19455-01/806-5194/806-5194.pdf 
          and http://illumos.org/books/mdb/preface.html (latest, but some links damaged). ]


