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 the emulator is \epoc32\wins\c\system\data\
and on phones,
c:\system\data\
.
To enable logging on the emulator, 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 phone, 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 phone, after making any
necessary changes to the wsini.ini
file, copy the logging DLL to
the ?:\system\libs\
folder on the phone.
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.