MDB does not provide support for examining process core files that were generated by a release of the Oracle Solaris operating system preceding Solaris 2.6. If a core file from one operating system release is examined on a different operating system release, the run-time link-editor debugging interface (librtld_db) may not be able to initialize. In this case, symbol information for shared libraries will not be available. Furthermore, since shared mappings are not present in user core files, the text section and read-only data of shared libraries may not match the data that was present in the process at the time it dumped core. Core files from Oracle Solaris x86 systems may not be examined on Oracle Solaris SPARC systems, and vice-versa.
Crash dumps Solaris releases before Solaris 8 may only be examined with the aid of the libkvm from the corresponding operating system release. If a crash dump from one operating system release is examined using the dmods from a different operating system release, changes in the kernel implementation may prevent some dcmds or walkers from working properly. MDB will issue a warning message if it detects this condition. Crash dumps from Oracle Solaris x86 systems cannot be examined on Oracle Solaris SPARC systems, and vice-versa.
The memory available to kmdb is allocated when the debugger is loaded, and cannot be expanded after that point in time. If debugger commands attempt to allocate more memory than is available, they will not be able to execute. The debugger will attempt to gracefully recover from low memory situations, but may be forced to terminate the system under dire circumstances.
The mdb(1) man page provides a detailed description of built-in mdb features for easy developer reference. The header file <sys/mdb_modapi.h> contains prototypes for the functions in the MDB Module API, and the source/demo/mdb-examples package provides source code for an example module in the directory /usr/demo/mdb.