Kernel Debugging vs. Application Debugging

The IDE uses a kernel debugger for debugging embedded platforms. The kernel debugger differs from the application debugger in the following ways:

  • The kernel debugger debugs code in the Windows CE kernel as well as Windows CE–based applications.
  • The kernel debugger requires a special OS image. This OS image contains a module that is automatically built into the kernel when the user chooses to enable kernel debugging. Any application that you want to debug with the kernel debugger must be started manually.
  • The kernel debugger remains active when you quit the application that is being debugged on the target device.
  • The application remains open and running on the target device when a stop debugging command is performed in the kernel debugger.
  • The application debugger controls the behavior of a single application, whereas the kernel debugger controls the behavior of the entire OS. Therefore, termination of the kernel debugger causes the OS to cease responding to outside input while it waits for feedback from the kernel debugger. In some cases, you may need to exit and restart the debugging session to enable the kernel debugger to resume communication with the OS.

Debug zones and the Windows CE Debug Shell tool (Cesh.exe) help you debug Windows CE OS modules and components in the following ways:

  • Debug zones provide a way to selectively turn the debugging message output on and off by using macros. This allows you to trace execution of the code without halting the Windows CE OS. You can access this feature through a new Debug Zones window in the IDE.

  • Shell.exe downloads binary files to a target device by using either an Ethernet or parallel port connection and provides remote file system capability. It also provides process, thread, and debugging information.

    Note   The IDE integrates this functionality. Shell.exe is provided as a way for users of Microsoft Platform Builder 2.1x to make the transition to the IDE.

See Also

Platform Debugging | Kernel Debugger | Kernel Debugging Using Standard Ports | Application Debugging

 Last updated on Friday, October 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.