Non-Standard Debugging and Testing

If you are developing software for a Windows CE-based platform, such as an H/PC, you can use the Windows CE emulation environment and remote tools to debug and test your application. However, if you are developing applications for other Windows CE-based platforms, such as embedded systems, you will have to devise your own debugging and testing tools.

The Windows CE API includes the interfaces necessary to create a full-featured debugger application, such as the one provided with Visual C++ or WinDbg. Although the creation tools exist, the limited size of the Windows CE environment makes such a debugger unrealistic. If you decide to write a debugger application, the best approach is to create a debug client using Windows CE debug functions and to communicate the relevant events to a desktop computer-based debugger. When writing a debugging application, choose one of the following ways to start the debugging session:

Windows CE has built-in support for just-in-time (JIT) debugging. JIT debugging enables you to run an application outside of the development environment. When an error occurs, the application calls the installed debugger. You register your JIT debugger by placing the name of your debugger in the registry located at HKEY_LOCAL_MACHINE\Debug. To enable JIT, you must warm-boot the device after the JITDebugger value is added to the registry.

If you choose not to write a debugging application, you must create some debugging tools inside your Windows CE-based application. Windows CE provides both functions and structures to do this. For a list of supported debugging functions, see Lists of Functions and Interfaces.

No matter what tools you use, you must thoroughly test your application on every kind of device that will run your application.