The Kernel Debugger is the CE software-debugging engine to debug kernel components and CE applications. On the development workstation, you work directly in Platform Builder, such as to insert or remove breakpoints in the source code and run the application, yet you must include support for KITL and debugging libraries (KdStub and OsAxS) in the run-time image so that Platform Builder can capture debugging information and control the target device. Lesson 2, "Configuring the Run-Time Image to Enable Debugging," later in this chapter provides detailed information about system configurations for kernel debugging.
The following target-side components are essential for kernel debugging:
? KdStub Captures exceptions and breakpoints, retrieves kernel information, and performs kernel operations.
? OsAxS Retrieves information about the state of the operating system, such as information about memory allocations, active processes and threads, proxies, and loaded dynamic-link libraries (DLLs).
Application debugging in Windows Embedded CE
By using the Kernel Debugger, you can control the entire run-time image as well as individual applications. However, KdStub is a kernel component that receives first-chance and second-chance exceptions, as explained in Chapter 3, "Performing System Programming." If you stop the Kernel Debugger during a session without stopping the target-side KdStub module first and an exception occurs, the run-time image stops responding until you reconnect the debugger, because the Kernel Debugger must handle the exception so that the target device can continue to run.
- CHAPTER 36 Kernel and Module Management
- Compiling the Kernel
- 13.1. GNU Debugger (GDB)
- 13.2. Data Display Debugger
- Enabling the Kernel Debugger
- Kernel setup
- 5.2.3 In-Circuit Debuggers
- Kernel Address Space
- Loading the Linux Kernel
- Using the BIOS and Kernel to Tune the Disk Drives
- The Linux Kernel