12 <concept id="GUID-ABE77283-EED8-5A33-B574-3B771EF11086" xml:lang="en"><title>How |
12 <concept id="GUID-ABE77283-EED8-5A33-B574-3B771EF11086" xml:lang="en"><title>How |
13 to Use ULogger with Comms</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
13 to Use ULogger with Comms</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
14 <p>This tutorial summarises one approach for enabling, retrieving and post-processing |
14 <p>This tutorial summarises one approach for enabling, retrieving and post-processing |
15 the <xref href="GUID-B25AB5A9-52A6-50C2-8656-F8ADEE260FC9.dita">ULogger</xref> logs |
15 the <xref href="GUID-B25AB5A9-52A6-50C2-8656-F8ADEE260FC9.dita">ULogger</xref> logs |
16 for Comms. ULogger is part of the Unified Trace framework which replaces other |
16 for Comms. ULogger is part of the Unified Trace framework which replaces other |
17 logging mechanisms for Symbian OS including Flogger and CDU. </p> |
17 logging mechanisms for Symbian platform including Flogger and |
|
18 CDU. </p> |
18 <p>The Unified Trace framework has greater flexibility and speed compared |
19 <p>The Unified Trace framework has greater flexibility and speed compared |
19 to Flogger and CDU. </p> |
20 to Flogger and CDU. </p> |
20 <section><title>Introduction</title> <p>The Comms logging which has been migrated |
21 <section id="GUID-6FF10945-4E25-4F91-BDA4-CC363EEC2480"><title>Introduction</title> <p>The Comms logging which has been migrated |
21 to ULogger is as follows: </p> <ul> |
22 to ULogger is as follows: </p> <ul> |
22 <li id="GUID-677DDC92-E655-50AD-85A3-7B6817F9E12A"><p>Comms Framework Node |
23 <li id="GUID-677DDC92-E655-50AD-85A3-7B6817F9E12A"><p>Comms Framework Node |
23 messages - creation and destruction of Nodes and messages between Nodes. </p> </li> |
24 messages - creation and destruction of Nodes and messages between Nodes. </p> </li> |
24 <li id="GUID-E496D531-2CF2-5042-8820-BC8CE75CE4C6"><p>Mesh Machine messages </p> </li> |
25 <li id="GUID-E496D531-2CF2-5042-8820-BC8CE75CE4C6"><p>Mesh Machine messages </p> </li> |
25 <li id="GUID-E4892E5F-845B-5672-AB90-944A8B7DAEBE"><p>data to support the |
26 <li id="GUID-E4892E5F-845B-5672-AB90-944A8B7DAEBE"><p>data to support the |
27 </ul> <p>This logging replaces some of what was logged through the "<codeph>LOG |
28 </ul> <p>This logging replaces some of what was logged through the "<codeph>LOG |
28 CFNode *</codeph> ", "<codeph>LOG Mesh *</codeph> " and "<codeph>LOG ESock |
29 CFNode *</codeph> ", "<codeph>LOG Mesh *</codeph> " and "<codeph>LOG ESock |
29 *</codeph> " tags. In the case of the <codeph>ESock</codeph> tag, the logging |
30 *</codeph> " tags. In the case of the <codeph>ESock</codeph> tag, the logging |
30 which is written to ULogger is also written to CDU. </p> <p>This usage description |
31 which is written to ULogger is also written to CDU. </p> <p>This usage description |
31 assumes that the development tools already include ULogger support. </p> </section> |
32 assumes that the development tools already include ULogger support. </p> </section> |
32 <section><title>Procedure - Using ULogger</title> <p><b>Requirements</b></p> <p> |
33 <section id="GUID-BB759C19-49DA-48EA-8550-11B897A2E768"><title>Procedure - Using ULogger</title> <p><b>Requirements</b></p> <p> |
33 For this tutorial, the code under observation must be run from <xref href="GUID-D90C86C6-B85D-5941-9919-3725A9FFD548.dita">EShell</xref>. </p> <p> |
34 For this tutorial, the code under observation must be run from <xref href="GUID-D90C86C6-B85D-5941-9919-3725A9FFD548.dita">EShell</xref>. </p> <p> |
34 The following binaries must include logging: </p> <ul> |
35 The following binaries must include logging: </p> <ul> |
35 <li><p> <filepath>nodemessages.dll</filepath> |
36 <li><p> <filepath>nodemessages.dll</filepath> |
36 </p> </li> |
37 </p> </li> |
37 <li><p> <filepath>meshmachine.dll</filepath> |
38 <li><p> <filepath>meshmachine.dll</filepath> |
40 <li><p> <filepath>serverden.dll</filepath> </p> </li> |
41 <li><p> <filepath>serverden.dll</filepath> </p> </li> |
41 <li><p> <filepath>esocksvr.dll</filepath> </p> </li> |
42 <li><p> <filepath>esocksvr.dll</filepath> </p> </li> |
42 </ul><p> To enable logging for a binary either use the UDEB version of the |
43 </ul><p> To enable logging for a binary either use the UDEB version of the |
43 binary or rebuild the binary with the <codeph>SYMBIAN_TRACE_ENABLED</codeph> macro |
44 binary or rebuild the binary with the <codeph>SYMBIAN_TRACE_ENABLED</codeph> macro |
44 defined. </p></section> |
45 defined. </p></section> |
45 <section><title>Steps</title> <ol> |
46 <section id="GUID-72A353DC-CFD8-482E-B2E4-9CCCCD1C9BBA"><title>Steps</title> <ol> |
46 <li id="GUID-E3B09A4E-C87A-45F9-8DE6-653BA1A2E426"><p> <b>Start |
47 <li id="GUID-E3B09A4E-C87A-45F9-8DE6-653BA1A2E426"><p> <b>Start |
47 Eshell</b> - ULogger only supports asynchronous logging, so |
48 Eshell</b> - ULogger only supports asynchronous logging, so |
48 from EShell start a second instance of EShell. </p> <codeblock xml:space="preserve">start eshell</codeblock> <p> |
49 from EShell start a second instance of EShell. </p> <codeblock xml:space="preserve">start eshell</codeblock> <p> |
49 This allows ULogger to be stopped even if the code under |
50 This allows ULogger to be stopped even if the code under |
50 observation does not exit normally. </p> </li> |
51 observation does not exit normally. </p> </li> |
128 the SVG diagram</b> - The exchange of messages between Nodes |
129 the SVG diagram</b> - The exchange of messages between Nodes |
129 can be rendered into a diagram. </p> <p> From <filepath>…\os\commsfw\commsfwtools\commstools\svg</filepath> run |
130 can be rendered into a diagram. </p> <p> From <filepath>…\os\commsfw\commsfwtools\commstools\svg</filepath> run |
130 <filepath>parseit.bat</filepath> specifying the path to the |
131 <filepath>parseit.bat</filepath> specifying the path to the |
131 generated log.txt file: </p> <codeblock xml:space="preserve">parseit.bat /log M:\path_to_log_file\log.txt</codeblock><fig id="GUID-F6E85A8D-09B3-40A1-B3DC-5B968C3F1A4C"> |
132 generated log.txt file: </p> <codeblock xml:space="preserve">parseit.bat /log M:\path_to_log_file\log.txt</codeblock><fig id="GUID-F6E85A8D-09B3-40A1-B3DC-5B968C3F1A4C"> |
132 <desc>Example SVG output from the Message Sequence Display Tool </desc> |
133 <desc>Example SVG output from the Message Sequence Display Tool </desc> |
133 <image href="GUID-D7E5FECF-0B29-5908-A163-37036DF165E1_d0e90460_href.png" placement="inline"/> |
134 <image href="GUID-D7E5FECF-0B29-5908-A163-37036DF165E1_d0e113980_href.png" placement="inline"/> |
134 </fig> <p> Key to the SVG diagram: </p> <ol> |
135 </fig> <p> Key to the SVG diagram: </p> <ol> |
135 <li id="GUID-64C07144-E5BD-465E-915F-1A867AD62FAB"><p> |
136 <li id="GUID-64C07144-E5BD-465E-915F-1A867AD62FAB"><p> |
136 Vertical black lines are tagged with names to represent node |
137 Vertical black lines are tagged with names to represent node |
137 lifetimes. For example: <codeph>IPCpr</codeph> |
138 lifetimes. For example: <codeph>IPCpr</codeph> |
138 </p> </li> |
139 </p> </li> |