1

I'm developing a WinCE 5.0 application that uses two commercial libraries. When the application starts calling the second library it gets slowlier and then after some use, it hangs and the whole OS freezes. It has to be rebooted to work again. The thing is that I'm developing this without a physical device (a testing person installs each release and runs the tests) and without an emulator (the device provider is not facilitating an OS image). My intuition tells me that the second library is using all the available resources (basically, handles and memory) for a WinCE 5.0 process. I have to prove this to the library vendor. So I wish to add to my logs some general process and system information. Could you recommend me which APIs to call to get this information in CE?

I would really appreciate any hint Thanks in advance!

Federico
  • 576
  • 4
  • 20

2 Answers2

1

Windows CE provides a very robust set of APIs for a subsystem called CeLog. CeLog is what Kernel Tracker uses to collect and display it's information. You can get all the way down to scheduler calls and thread migrations if you want. The real danger with using CeLog is in collecting too much data so that making sense of it is difficult, but if you filter the collections to just your process, that should help. You could collect the data to a log file, then use Kernel Tracker to open and view that data.

Here are some good starting points for info:

ctacke
  • 66,480
  • 18
  • 94
  • 155
  • Thanks! Very basic (and desperate) question, where can I get CeLogFlush.exe? I have CeLog.dll, but not that executable... – Federico Jul 26 '12 at 23:03
  • Good question. Normally I'd just pull it from the release directory of a platform. You might have to download the eval version of Platform Builder (I don't have PB on my local PC right now, so I can't check). – ctacke Jul 27 '12 at 01:59
0

Embedded Visual C++ 4 contained "Remote Performance Monitor" that could do just that. Microsoft retracted EVC4 as free download some time ago, but it can still be downloaded from MSDN or found on the internet.

With service pack 4 it should work for WinCE 5.0. It does not appear to work with Windows Embedded 6.0 and newer though.

Jan Hudec
  • 73,652
  • 13
  • 125
  • 172