The following is an example wsini.ini configuration file
which is set up to enable logging to take place:
LOG FL
LOGP C:\DATA\WSERV.LOG
LOGENABLE
REBOOT 1
POINTER 0
AUTOCLEAR 1
WINDOWMODE 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 will
begin. Specifying LOGENABLE ensures that logging will begin as
soon as the window server boots. If no log file location is specified, the
default on WINS is \epoc32\wins\c\system\data\ and on devices,
c:\system\data\.
To enable logging on WINS, these settings can simply be added to the
default wsini.ini file, located in
\epoc32\release\wins\variant\z\system\data\
(where variant is either udeb
or urel). On a target machine, a wsini.ini file needs
to be copied into ?:\system\data\, overriding the version in ROM,
and the window server rebooted.
In order to carry out logging on a target machine, after making any
necessary changes to the wsini.ini file, copy the logging DLL to
the ?:\system\libs\ folder on the target machine.
To enable and disable logging, the following shortcut keys may 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 will work whether or not logging is currently enabled, as long as a logging DLL has been set up.
Note that in window server client code, invoking
RWsSession::LogCommand() will allow the window server client to enable or disable logging of window server events.
RWsSession::LogMessage() will write the buffer descriptor specified to the log file.