breakpoint properties.
¦ Watch Provides read and write access to local and global variables.
¦ Autos Provides access to variables similar to the Watch window, except that the debugger creates this list of variables dynamically, while the Watch window lists all manually added variables whether they are accessible or not. The Autos window is useful if you want to check the parameter values passed to a function.
¦ Call Stack Accessible only when the system is in a break state (code execution has halted on a breakpoint). This window provides a list of all processes enabled on the system and a list of hosted threads.
¦ Threads Provides a list of the threads running in the processes on the system. This information is dynamically retrieved and can be updated at any time.
¦ Modules Lists the modules loaded and unloaded on the system and provides the memory address where those modules are loaded. This feature is useful for identifying whether a driver DLL is actually loaded or not.
¦ Processes Similar to the Threads window, this window provides a list of the processes running on the system. Among other things, you can terminate processes if required.
¦ Memory Provides direct access to device memory. You can use memory addresses or variable names to locate the desired memory content.
¦ Disassembly Reveals the assembly code of the current code line executed on the system.
¦ Registers Provides access to the CPU register values when running a specific line of code.
¦ Advanced Memory Can be used to search the device memory, move portions of memory to different sections, and fill memory ranges by using content patterns.
¦ List Nearest Symbols Determines a specific memory address for the nearest symbols available in the binaries. It also provides the complete path to the file containing the symbol. This tool is useful to locate the name of a function that generated an exception.
The Memory and Advanced Memory tools can modify memory content. Using these tools incorrectly can cause system failures and damage the operating system on the target device.
Application Verifier Tool
Another useful tool to identify potential application compatibility and stability issues and necessary source code-level fixes is the Application Verifier tool, included in the CETK. This tool can attach to an application or a DLL to diagnose problems that are otherwise difficult to track on standalone devices. The Application Verifier tool does not require a device connection to a development workstation and can be launched at system startup to check and validate drivers and system applications. You can also start this tool from the CETK user interface or manually on the target device. If you want to use the Application Verifier tool outside of the CETK, you should use the Getappverif_cetk.bat file to copy all the required files into the release directory.
For detailed information about the Application Verifier tool, including how to use shim extension DLLs to run custom test code or change the behavior of functions during application testing, see the section 'Application Verifier Tool' in the Windows Embedded CE 6.0 Documentation, available on the Microsoft MSDN Web site at
CeLog Event Tracking and Processing
Windows Embedded CE includes an extensible event-tracking system that you can include in a run-time image to diagnose performance problems. The CeLog event-tracking system logs a set of predefined kernel and coredll events related to mutexes, events, memory allocation, and other kernel objects. The extensible architecture of the CeLog event-tracking system also enables you to implement custom filters to track user-defined events. For platforms connected to a development workstation through KITL, the CeLog event-tracking system can selectively log events based on zones specified in the ZoneCE registry entry, as summarized in Table 4-4.
Table 4-4 CeLog registry parameters for event logging zones
Location | HKEY_LOCAL_MACHINESystemCELog |
---|---|
Registry Entry | ZoneCE |
Entry Type | REG_DWORD |
Value | < |
Description | By default, all zones are logged. For a list of all possible zone ID values, see the section 'CELog Zones' in the Windows Embedded CE 6.0 Documentation, available on the Microsoft MSDN Web site at |
By using the CeLog event-tracking system, you can collect data, which CeLog stores in a buffer in RAM on the target device. Performance tools, such as Remote Kernel Tracker and Readlog, can then process the collected data. It is also possible to flush the data periodically to a file by using the CELogFlush tool.
You should not include the CeLog event-tracking system in final builds to avoid performance and memory