This topic shows an example wsini.ini
configuration file to explain how to set up Window Server logging.
Here is the example:
LOG FL LOGP C:\DATA\WSERV.LOG LOGENABLE REBOOT 1 AUTOCLEAR 1 SCREENMODE COLOR256
The first three lines control respectively, the choice of logging DLL, the location of the generated log file, and the time at which logging begins. LOGENABLE
ensures that logging begins as soon as the Window Server boots. If no log file location is specified, the default on the emulator is epoc32\winscw\c\private\
and on phones is c:\system\data\
.
To enable logging on the emulator, add these settings to the default wsini.ini
file, located in \epoc32\release\winscw\
variant \z\system\data\
(where variant is either udeb
or urel
). On a target phone, copy the wsini.ini
file into Z:\system\data\
, overriding the version in ROM, and restart the Window Server.
In order to carry out logging on a target phone, after making any necessary changes to the wsini.ini
file, copy the logging DLL to the \sys\bin\
directory on the phone.
To enable and disable logging, the following shortcut keys can be used:
Alt +Ctrl +Shift +E ("E " for Enable)
Alt +Ctrl +Shift +D ("D " for Disable)
Other useful shortcut keys are:
Alt +Ctrl +Shift +W (dumps the full window tree)
Alt +Ctrl +Shift +H (dumps the contents of the Window Server's heap)
These two options work whether or not logging is enabled, provided a logging DLL has been specified.
Note that in Window Server client code, invoking
RWsSession::LogCommand()
allows the Window Server client to enable or disable logging of Window Server events.
RWsSession::LogMessage()
writes the buffer descriptor specified to the log file.