MDB 可提供范围广泛的功能集合,用于分析 Solaris 内核和其他目标程序。您可以:
执行 Solaris 内核崩溃转储和用户进程核心转储的事后分析: 除标准数据显示和格式设置功能外,MDB 还包含用于简化复杂的内核和进程状态分析过程的调试器模块集合。 使用调试器模块可以实现复杂查询的公式化,以便:
查找特定线程分配的所有内存
列显内核 STREAM 的直观图
确定特定地址所引用的结构类型
在内核中查找已泄漏的内存块
分析内存以查找栈跟踪
使用高级编程 API 实现自己的调试器命令和分析工具,而不必重新编译或修改调试器本身:在 MDB 中,调试支持的实现形式为一组可装入模块(调试器可以 dlopen(3C) 的共享库),其中每个可装入模块都提供一组扩展调试器本身功能的命令。相应地,调试器提供核心服务的 API,例如读写内存和访问符号表信息的功能。MDB 为开发者提供一个用于针对其自身的驱动程序和模块实现调试支持的框架;然后使这些模块可供所有人使用。
了解如何使用 MDB(如果您已熟悉传统的调试工具 adb 和 crash): MDB 为这些现有调试解决方案提供向后兼容性。MDB 语言本身是 adb 语言的超集;所有现有 adb 宏和命令都在 MDB 内工作,因此使用 adb 的开发者可以立即使用 MDB,而无需了解任何 MDB 特定的命令。 MDB 还提供了功能比 crash 实用程序更强大的命令。
增强的可用性功能可带来许多益处。 MDB 提供了许多可用性功能,其中包括:
命令行编辑
命令历史记录
内置输出页面调度程序
语法错误检查和处理
联机帮助
交互式会话日志记录