操作系统的调试支持分为3个方面:
1. 对应用程序的调试支持application debugging: 如何简单高效地调试运行在系统中的各种应用程序。应用程序通常在操作系统分配的较低优先级下运行,其代码属于操作系统不信赖的代码。
2. 对设备驱动程序调试的支持device driver debugging:设备驱动程序或其他运行在内核模式下的模块是操作系统的可信赖代码,通常与操作系统运行在同一个优先级下和同一个地址空间中,跟应用程序调试有很大不同。
3. 对操作系统自身的调试。
对于每一类调试,还需要考虑两种情况:
1. 使用调试器的调试,即通过有效的模型和系统机制来支持调试器软件,操纵和访问被调试对象。
2. 不使用调试器的调试,即通过操作系统的基础服务、支持软件实现各种不依赖于调试器的调试途径,比如错误提示,事件追踪,日志和错误报告等。
所以操作系统调试可以归纳为如下6个问题: