|
|
|
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\winscw\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.