What's New

CodeSnitchTM is the definitive code analysis tool for Windows CE. By automatically detecting common code problems such as memory leaks, resource leaks, invalid parameters and more, CodeSnitch is a great alternative to traditional debuggers.

Efficiency, performance, and reliability are all important in any application.  These factors become critical when targeting embedded systems such as Microsoft Windows CE.  Using CodeSnitch on a regular basis during the development as well as test cycle of your product is the best way to ensure that your application is as reliable and efficient as possible.

Using CodeSnitch requires no special build steps, emulators, debuggers, or hardware. Simply run your program from the CodeSnitch environment and start making improvements immediately.

For professional software developers, CodeSnitch is the only choice for automatic runtime error detection.

CodeSnitch is now available in standard and professional editions.  Use the chart below to determine which version is right for you. Download the CodeSnitch help file for more information.

Professional Edition
Standard Edition
Source Code Viewing View the file and line for each event in the log

Call stack For Each Event See the exact code path taken to arrive at any given event

Parameter Validation Validates each parameter passed to supported APIs

API Failure Reporting Reports failures, including return code, for supported APIs

CRT Heap Tracking1

Includes malloc, realloc, free, etc.

C++ Heap Tracking1


MFC Heap Tracking1

MFC new/delete

Win32 Local Heap Tracking1

LocalAlloc, LocalReAlloc, LocalFree, etc.

OLE32 Heap Tracking2 CoTaskMemAlloc, CoTaskMemRealloc, CaTaskMemFree

Win32 Private Heap Tracking1

HeapCreate, HeapAlloc, HeapReAlloc, etc.

Kernel Object Tracking

CreateMutex, CreateEvent, CreateThread, etc.

File Handle Tracking

CreateFile, FindFirstFile

Registry Key Tracking RegCreateKeyEx, RegOpenKeyEx, RegCloseKey

Database Handle Tracking CeOpenDatabase, CeOpenDatabaseEx, CeCloseDatabase

GDI Object Tracking CreateBitmap, CreateFont, CreatePen, etc.

Heap Corruption Detection3 Memory underwrite, Memory overwrite, free invalid block

Report Critical Section Usage EnterCriticalSection, TryEnterCriticalSection, LeaveCriticalSection

Catch Unhandled Exceptions4 Report unhandled access violation, alignment exception, etc.

Low Memory Simulation Restricts heap usage to specified limit

Debug Trace5 View OutputDebugString messages in event log

Debugger Integration Break in the IDE debugger on a specified event or condition

Report Thread Events SuspendThread, CeSetThreadPriority, CeSetThreadQuantum, etc.

Flat Release Directory Instrument applications and modules located in the flat release directory

  1. Leak detection, parameter validation, failure detection, and heap corruption detection.
  2. Leak detection, parameter validation, and failure detection.
  3. Heap corruption is detected at the time memory is freed, not at the time the corruption occurs.
  4. Unhandled exceptions are caught and reported for all threads except the main (WinMain) thread.
  5. Reports calls to OutputDebugString, including the actual string. Great for aiding in debugging device drivers, POOM objects, Control Panel applets, and controls and objects used in Visual Basic applications as well as Internet Explorer.
System Requirements

Windows CE Operating Systems

Version CPUs
Windows CE 2.11 X86, MIPS, SH3, SH4, ARM Platform Builder 2.11,
eMbedded Visual
Windows CE 3.0 X86, MIPS, Sh3, SH4, ARM Platform Builder 3.0,
eMbedded Visual C++ 3.0
Windows CE 4.x X86, MIPS, SH3, SH4, ARMV4, ARMV4I Platform Builder 4.x
eMbedded Visual C++ 4.0
Windows CE 5.x X86, MIPS, SH4, ARMV4I Platform Builder 5.0,
Visual Studio 2005
Windows CE 6.0 X86, MIPS, SH4, ARMV4I Platform Builder 6.0,
Visual Studio 2005
Pocket PC 2002-2003SE ARM eMbedded Visual C++ 3.0/4.0
Smartphone 2002-2003SE ARM eMbedded Visual C++ 3.0/4.0
Windows Mobile 5.x ARMV4I Visual Studio 2005, 2008
Windows Mobile 6.x ARMV4I Visual Studio 2005, 2008
Custom platforms built from Platform Builder X86, MIPS, SH3, SH4, ARM, ARMV4, ARMV4I eMbedded Visual C++ 3.0-4,0
Visual Studio 2005, 2008
Windows Desktop Operating System
Please refer to the system requirements required for your version of Windows CE and/or IDE

What's New

Version 1.5 includes the following new features since 1.4:

  • Support for Windows Mobile 6.1 and Windows Embedded CE 6.0.

  • Support for applications built with Visual Studio 2005 and 2008.

  • Added support for Windows Vista (UI-only).

  • In addition to Platform Manager, can now connect directly over ActiveSync.

  • Deploy CodeSnitch binaries to any directory (used to always deploy to \Windows).

  • CodeSnitch can uninstall device binaries when disconnecting.

Version 1.5 also includes fixes for the following issues:

  • Fixed a race condition in desktop application which could cause application to crash.

  • Fixed a bug in ARM stack walking code which gave incorrect stack traces in some scenarios.

  • Fixed a bug in realloc(p, 0) that could result in false memory leak report.
  • Fixed a bug in determining symbol filename and location.

Copyright © Entrek Software, Inc.