编写适用于 Oracle® Solaris 11.2 的设备驱动程序

退出打印视图

更新时间: 2014 年 9 月
 
 

调试工具

    本节介绍可以应用于设备驱动程序的两个调试器。Oracle Solaris Modular Debugger Guide中详细介绍了这两个调试器。

  • kmdb(1) 内核调试器可提供典型的运行时调试器功能,如断点、监视点和单步执行。kmdb 调试器取代了以前发行版中的 kadb。除新功能外,在 kmdb 中还可以使用先前在 kadb 中可用的命令。kadb 只能在引导时装入,而 kmdb 可随时装入。由于 kmdb 调试器可进行执行控制,因此它是用于实时、交互调试的首选方法。

  • mdb(1) 模块调试器作为实时调试器比 kmdb 的功能要有限一些,但 mdb 具有很多可用于事后调试的功能。

kmdbmdb 调试器的用户界面大部分是一样的。因此,许多调试方法都可在这两种工具中使用相同命令来应用。这两种调试器都支持宏、dcmd 和 dmod。dcmd(读作为 dee-command)是调试器中的例程,它可以访问当前目标程序的任何属性。dcmd 可在运行时动态装入。dmod(调试器模块的缩写)是可以装入以提供非标准行为的 dcmd 包。

mdbkmdb 都可向后兼容传统调试器(如 adbkadb)。mdb 调试器可以执行可用于 kmdb 的所有宏以及用于 adb 的任何用户定义的传统宏。有关在何处查找标准宏集的信息,请参见《Oracle Solaris 模块调试器指南》。