Jump to content

KernelDebugRef - Debugging Kernel Device Drivers

From EDM2

Reprint Courtesy of International Business Machines Corporation, © International Business Machines Corporation

Kernel Debugger Reference
  1. Introduction
  2. Installing the Kernel Debugger
  3. The T Terminal Emulator
  4. Entering the Debugger
  5. Expressions
  6. Operator Precedence
  7. Binary Operators
  8. Unary Operators
  9. Numbers
  10. Strings
  11. Symbol Files
  12. Using Kernel Debugger Commands
  13. The Breakpoint (BP) Command
  14. Breakpoint Commands
  15. External Commands
  16. Using Default Commands
  17. External Debugger Commands
  18. Setting Useful Breakpoints
  19. Debugging Kernel Device Drivers
  20. Debugging VM Start Sessions
  21. Debugging a Remote System
  22. Notices

There are some structures in the Kernel Debugger that are useful when you are debugging a kernel device driver. You can issue the following commands to refer to these structures.

##.D DEV DS:0

This command displays the header of the device driver. It helps you determine which device driver you are debugging.

##.D REQ ES:BX

This command displays the kernel request packet. This packet is passed between the file system and a kernel device driver. Issue this command at the strategy entry point or exit point of the device driver. This command helps you determine which request the device driver has just finished processing, or is about to process.

##.MAMC

This command displays the module name of the program that is currently executing. This helps you determine the owner of the process that trapped.

##.VSF*

This command sets the trap vectors. This causes the Kernel Debugger to stop at the instruction that is about to cause a trap.