CeDebugX (Windows Embedded CE 6.0)

1/5/2010

CeDebugX is an extension to the Platform Builder debugger. It presents detailed information about the state of the system at break time and attempts to diagnose crashes, hangs, and deadlocks.

CeDebugX commands are available at break time through the Target Control window in Platform Builder. See Target Control Debugging Commands.

System Information

CeDebugX provides a set of commands that expose detailed information about important elements of the system at break time. There are commands to examine threads, processes, modules, synchronization objects, heaps, GDI objects, windows, message queues, and other objects in detail. This information extends the basic information that is available through the standard debugger Threads, Processes, and Modules windows, and is intended to make kernel and application level debugging more efficient.

Automatic Diagnosis

CeDebugX includes commands to evaluate the state of the system to diagnose the type and detailed nature of a crash, hang, or deadlock. CeDebugX looks for access violations, stack overflows, spinning threads, deadlocks, orphaned critical sections and mutexes, and heap corruptions. If one or more of these failures is detected, CeDebugX displays as much detailed information as possible regarding the failures, for example, exception address, call stacks, sync object ownership, memory evaluations, and so forth. If more than one failure is detected, CeDebugX presents a list of failures, sorted by severity and confidence in the diagnosis. If a crash or hang is detected, but a positive diagnosis is not possible, CeDebugX will attempt to provide suggestions for further investigation.

Debugging Requirements

CeDebugX requires an active debugging session and all of the following conditions:

  • Platform Builder is connected to the target device through the Kernel Independent Transport Layer (KITL).
  • The debugger is loaded on the device.
  • The device is at a debug break state.
  • Platform Builder has access to valid symbols for the modules on the device.

Loading CeDebugX

The version of Windows Embedded CE that you are debugging determines how CeDebugX is loaded. There are separate binary versions of CeDebugX corresponding to Windows Embedded CE major versions:

The Cedebugx60.dll targets products based on Windows Embedded CE 6.0, and it is loaded by default.

The Cedebugx50.dll targets products based on Windows CE 5.0 and can be loaded manually,

See the Target Control Debugging Commands section for more information about commands to load and manage debugger extensions.

For a complete list of CeDebugX commands, see the CeDebugX Commands.

For a list of files generated by CeDebugX, see Files Generated by CeDebugX.

See Also

Concepts

System Debugger Extensions