Concurrent with Visual Studio 2008's release, Microsoft has also released the "Power Toys for .NET Compact Framework 3.5," a set of tools to help .NET CF developers evaluate their applications' performances, configurations, and diagnostics. Click here
to download the PowerToys.
One useful tool included is the App Configuration Tool (NetCFCfg.exe), which is located in the default installation folder: C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\wce500. Within this folder are several folders targeting different processor types (see Figure 1).
Figure 1. The App Configuration Tool: Folders containing the App Configuration Tool for the different processor type.
Figure 2. Four Available Tabs: The various tabs in the Application Configuration Tool.
Select the processor that your Windows Mobile device uses and copy the folder into the device (via ActiveSync). Within your Windows Mobile device, navigate to the folder just copied, and then launch the NetCFCfg.exe application. Figure 2 shows the four tabs available:
.NET Compact Framework CLR Profiler
- About: This tab shows the versions of the .NET Compact Framework currently installed on your device and the version of your Windows Mobile OS.
- GAC: This tab shows the list of assemblies installed in the Global Assembly Cache.
- Device Policy: This tab allows you to configure all unconfigured applications to use a particular version of the .NET CF.
- Application Policy: This tab allows you to individually configure each application to use a particular version of the .NET CF.
Another tool that ships with the PowerToys is the .NET CF CLR Profiler, an adaption of the desktop version of the CLR profiler for .NET applications. Using this CLR profiler, you can look into the details on how your application is allocating and using managed objects.
Launch the .NET CF CLR Profiler tool from: Start | Programs | .NET Compact Framework PowerToys 3.5 | .NET CF CLR Profiler. When launched, click on the Start Application… (see Figure 3) button to launch an application that you want to profile.
Figure 3. The Start Application Button: This button launches an application that you want to profile.
Figure 4. Specify the Device: Choosing a device and the application to profile.
You will then be asked to specify the device that your application runs on and the path to the executable (see Figure 4) and any optional parameters that you want to pass into the application.
As the application runs, you can view the Heap Graph, which shows the various threads and its associated memory allocation (see Figure 5).
To stop the application that is currently being profiled, click the Kill Application button. A summary form showing the various statistics will be displayed (see Figure 6).
Figure 5. The Heap Graph: The .NET CF CLR Profiler in action.
Figure 6. Statistics Summary: A summary form showing the various statistics.
Explaining the use of the .NET CF CLR Profiler is beyond the scope of this article. For more information, check out the following posts by Steven Pratschner:
|Figure 7. The Remote Performance Monitor: This tool displays a window showing the various parameters that it is monitoring real-time.|
Remote Performance Monitor
Besides monitoring memory allocations of your applications, you can also monitor their performances of applications using the Remote Performance Monitor. The Remote Performance Monitor tool is also part of PowerToys and can be launched from: Start | Programs | .NET Compact Framework PowerToys 3.5 | Remote Performance Monitor. As with the CLR Profiler, you first launch the application that you want to monitor and then the tool displays a window showing the various parameters that it is monitoring in real time (see Figure 7).
A Quick Overview
Now you've got a quick overview of the new and important features available in the .NET Compact Framework 3.5 and the new tools shipped with Visual Studio 2008. Stay tuned for future articles that will dive into each topic in more details