|
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
-
Works in your environment,
including your desktop operating system and your Windows CE target
device.
- 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
- Review the system requirements and verify
that your development environment is properly configured.
- Review the Release notes and documentation
provided in the electronic help files.
- 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.
- 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.
- Connect CodeSnitch to your target device or
emulator and then click the "Run" toolbar button.
- Click the Runtime Options... button
to set the level of error detection and reporting you desire.
- 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).
- 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).
- To see the newest events that occur, sort
by descending sequence. Click the Sequence column header to change
the sort order.
- 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.
- 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.
- The columns displayed can be altered using
the View\Preferences... menu item.
- 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.
|