Solaris 模块调试器指南

目标读者

如果您是一名侦探,正在调查犯罪现场,您可能会采访目击者,并要求他们描述发生的情况和所看到的人员。 但是,如果没有目击者或者这些描述证明不够充分,您可能考虑收集指纹和法庭证据,以便进行 DNA 检查来帮助破案。通常,软件程序失败分成类似的两类:可以用源代码级调试工具解决的问题,以及需要底层调试工具、检查核心文件和了解汇编语言才能诊断和更正的问题。 MDB 是专门用于简化对这第二类问题进行分析的调试器。

也许不需要在每种情况下都使用 MDB,就像侦探不需要显微镜和 DNA 证据来侦破每个犯罪行为。但是,为诸如操作系统之类的复杂底层软件系统编程时,这些情况可能会频繁出现。 因此,MDB 设计为一个调试框架,可以使用它构造自己的自定义分析工具,从而帮助诊断这些问题。 MDB 还提供了一组功能强大的内置命令,可以使用它们在汇编语言级别上分析程序的状态。

如果您不熟悉汇编语言编程和调试,请参见相关书籍和文章,您可能会发现其中提供的参考资料是很有用的。

您还应该反汇编将要调试的程序中相关的各种函数,以便熟悉程序的源代码与对应汇编语言代码之间的关系。 如果计划使用 MDB 调试 Solaris 内核软件,则应该仔细阅读第 8 章,内核调试模块第 9 章,使用内核内存分配器进行调试。这两章提供有关为调试 Solaris 内核软件而提供的 MDB 命令和工具的更详细信息。