Entrek CodeSnitch Evaluation Information

Overview

Evaluation Period

CodeSnitch Limitation

Smartphone Developers

Evaluation Tips

Feedback

Overview

Thank you for your interest in our product.  We hope that you'll discover the powerful features built into our toolset and see how those features can be used to quickly find and fix bugs that would otherwise be very difficult to debug, or, worse, go undetected!

The Entrek CodeSnitch Evaluation Edition is intended to help you determine if the product

  1. Works in your environment, including your desktop operating system and your Windows CE target device.
  2. Has the necessary features to aid you in your debugging.

The evaluation software is not intended to help you find and fix bugs in your production code.  As such, one key feature in the CodeSnitch tool has been limited.

Both the professional and standard editions may be evaluated.  However these two editions cannot coexist on the same machine.  After evaluating one, you must remove it before evaluating the other.

Evaluation Period

The evaluation period is 14 days.  The 14 day period begins the day you install the software.  It ends either 14 days after installation or after 30 days of registration, whichever comes first.

If you've previously evaluated Entrek CodeSnitch version 1.4 or 1.5 and would like to extend your evaluation, please send a request to Entrek Support.  You will not receive a valid evaluation key by resubmitting the registration form.

CodeSnitch Limitation

CodeSnitch is the tool which will instrument your application so that it can, among other things, keep track of memory and resource allocations made by your application.  It can then determine if your application is leaking.  When your application makes a call that is tracked by CodeSnitch (for a full list of functions, see the Reference section of the CodeSnitch electronic help file), one or more events will be generated depending on your runtime options.  Each event contains an address and a call stack which allows you to trace the path that led to the function call.  In the full edition of CodeSnitch, it will use symbolic information to resolve these addresses to the file and line number of the source code that created the event.  It will then display the source in the source viewing window.  However, in the evaluation edition, the symbolic information is resolved for the first 50 events only.  Only the address is given for all other events.

This limitation is removed if the application you are testing is small, generally under 4KB for native Win32 applications and 32KB for MFC applications.  That is, for small sample applications, addresses are resolved for all events.  You are encouraged to test against sample applications in order to verify that the product gives accurate results.

Smartphone Developers

Entrek CodeSnitch will work with Smartphone.  You must, however, follow a few simple instructions before connecting to your target device, whether it is a physical device or the Smartphone emulator.

First, your target device must be unlocked for development.  Effectively, this means that you must be able to provision the device with certificates that you generally sign your application with.  Before loading an application or a DLL, the operating system will verify that the application is signed with a valid certificate and assign a trust level to the application, depending if the certificate is installed in the "Privileged Certificate Store" or the "Unprivileged Certificate Store".

Unlocked phones can also run unsigned applications.  Unsigned applications will run, but in unprivileged mode.

CodeSnitch makes a slight modification to application and DLL files at instrumentation time (it also reverts the changes when uninstrumenting).  This modification will cause the signature checking performed by the operating system to fail (it performs a checksum validation), and your application will fail to load.  To work around this problem, simply do not sign your application when testing with CodeSnitch.  To turn off application signing, go to the Security tab in the eMbedded Visual C++ Project Settings dialog (use the arrows in the tab control to scroll to the Security tab).  Uncheck the checkbox labeled "Sign this Application".  Then rebuild and redeploy the application to the target device.

Evaluation tips

  1. Review the system requirements and verify that your development environment is properly configured.
  2. Review the Release notes and documentation provided in the electronic help files.
  3. For best results, use a debug build of your applications and DLLs.  CodeSnitch can be used against retail builds, but symbolic information is not generated by default.  If you do generate symbolic information, CodeSnitch will use it, but because of compiler optimizations, may give incorrect file and line number information.  See the CodeSnitch electronic help file for more information.
  4. Use Microsoft eMbedded Visual C++ or Microsoft Platform Builder to build and deploy your application to your target device or emulator.  No special build steps are required.
  5. Connect CodeSnitch to your target device or emulator and then click the "Run" toolbar button.
  6. Click the Runtime Options... button to set the level of error detection and reporting you desire.
  7. Make sure your application as well as all DLLs used by your application are instrumented, including those loaded by an function call such as LoadLibrary or CoCreateInstance.  To view and modify the list of DLLs that are instrumented, click the Dependencies... button on the Run dialog.  Note that system DLLs cannot be instrumented (and generally do not need to be instrumented).
  8. Click the Go! button to instrument your application.  If the Instrument and Run radio button is selected, CodeSnitch will also launch your application and a new Events window will open, displaying events as they occur.  If Instrument Only is selected, the application will be instrumented.  You can then start the application by any means (including the Microsoft eMbedded Visual C++ or Platform Builder debugger).  Once started, CodeSnitch will open a new Events window (make sure to keep CodeSnitch connected).
  9. To see the newest events that occur, sort by descending sequence.  Click the Sequence column header to change the sort order.
  10. The first event will be a Process Loaded event.  The last event will be a Process Unloaded event.  CodeSnitch will calculate leaks once the Process Unloaded event arrives.  Note that for Pocket PC, your application may not close when you click the "X" caption bar button.  It will only be minimized.
  11. The CodeSnitch main events window will gray allocation chains for memory and resources that have been freed, allowing you to focus only on those that are still allocated.
  12. The columns displayed can be altered using the View\Preferences... menu item.
  13. Debug trace messages show OutputDebugString in the API column.  The actual text of the message is in the Description column.

Feedback

If you have any questions, comments, or other feedback regarding the tools or Entrek Software, Inc. in general, please send email to Entrek Information.

Hit Counter

 

Copyright © Entrek Software, Inc.