Windows Debugging Training
Windows Kernel Debugging
Introduction
This course gives experienced device driver developers the knowledge to debug
kernel mode code using WinDbg. The entry course provides debugging
basics, including environment and tool exposure. The advanced
course provides additional details about crash dump analysis and tools such as
symbol server.
Basics of Kernel Debugging Course
At Course Completion:
At the end of the course, students will be able to:
•Understand the build requirements for successful debugging
•Understand the capabilities and use of WinDbg
•Describe the WinDbg kernel-mode debug setup
•Describe the structure of the kernel-mode stack and perform “trace repair”
•Analyze Windows 2000 crash dump files
•Perform hardware probing with WinDbg
•Perform remote debugging
•Understand the use of KD (i386KD)
•Describe the operation of Driver Verifier
Prerequisites
•Windows 2000 kernel-mode driver knowledge including:
•Architecture
•Programming environment
•C programming language
•Some Visual Studio knowledge
•Some Intel assembly knowledge
Course Topics
Kernel Debugging - Basics
•The Windows 2000 Family of Debuggers
•The PE File Format
•Symbol Files
•Map Files
•Debug & Release Builds
WinDbg
• Features of WinDbg
• WinDbg Interface
• Debug windows
•Symbol file specification
•Source file specification
•Setting breakpoints
•Controlling code execution
Kernel Debugging
•Kernel debug methodology
•Configuring the environment
•Basic WinDbg kernel commands
Stack Debugging
•The Windows on Intel stack structure
•User mode vs. Kernel mode stacks
•FPO
•OMAP
•Stack corruption
•Stack “repair”
Crash & Dump Files
•Configuring a system for crash dumps
•Forcing crash dumps from the keyboard
•Validating a crash dump file
•Using dumpchk for analysis
•Using WinDbg to analyze a crash dump
•Windows 2000 Stop Screens
Hardware Debugging
•Probing the hardware
•Accessing IO ports
•Reading/Writing Device memory
•Viewing the bus(as)
•Examining devices
•Multiprocessor information
•Interrupt information
•Power management information
•SCSI Help
Remote Debugging
•When remote debugging is necessary
•Using a modem
•Using a network (RAS)
•REMOTE.exe
•KD – An alternative
KD
•What is KD
•When t•use KD
•Configuring KD
•KD commands
•Dot commands
•Command extensions
Driver Verifier
•What is Driver Verifier
•Types of tests performed by Verifier
•Configuring Driver Verifier
•Verifier Stop Codes
Return to Windows Debugging Training
|