MW Ron <mwron@metrowerks.com> Newsgroups: discussion.epoc.C++ Date: Tue, 18 Mar 2003 16:58:44 -0500 On-device debugging support for the P800 is currently being finalized by Sony Ericsson, who have a working version in their lab. We do not have control over when this comes to market. Once their final testing is complete, you will need to have your phone re-flashed, by Sony Ericsson, in order to use this functionality. As soon as this is available, we will notify our customers via our website. You can expect that other Symbian devices, from other manufacturers, will include MetroTRK functionality in late 2003 and throughout 2004 to support on-device debugging.
At the time of writing, we have not found more specific informations about the status of debugging support. This means that there is no proper debugging support available, and we had to resort to instrumenting our code with statements that printed debug information to some device.
We experimented with three different approaches for the output device. The first simple one was to write debugging to a file, and read the file via an application on the phone or on the PC via p3nfs. Viewing the file on the phone was slow using the built-in applications and needed swapping between the program being debugged and the viewer. Using p3nfs was not working either as it took some time before the PC recognized updates or they only came block-wise. We do not know which is the case but we did not find it feasible to use this method.
Instead of using a local file we investigated how to get the debugging information shown on another device. Our first attempt was to use the serial port, but found that it was not directly accessible. It was locked by an application on the phone used for synchronization with other devices. Instead we used the same approach but using the infrared port, printing debug information to a Palm Pilot, which was the only other device we had with an infrared port. This was however not optimal. First, the location of the infrared ports meant that the devices had different reading angles, making it very difficult and tedious to watch both screens at the same time. Second, we needed to correlate the time of some of the informations with the time on the PC to use for the graphs.
Finally we found the (undocumented) RDebug-class (in e32svr.h) which has a Print function used to print arbitrary data to the serial port. This makes it possible to read the debugging informations on the PC, using it for timing, recording the information, etc. This is the best debugging solution we have found, and we have had no problems using it.