Component Specific Debugging Help

Node Framework

To debug any Node in the Comms Three Plane Architecture, use:

  • SVG diagrams to see the message traffic. See How to Use ULogger with Comms

  • Conditional breakpoints in the ReceivedL function of the Node.

    The extensive re-use of code for states and transitions causes breakpoints in the code for states and transitions to be called many times. These breakpoints may not be effective. Set conditional breakpoints in the ReceiveL functon of Nodes to track the processing of messages within a Node.

IP Networking

General networking - For debugging network problems, a version of ping and IPConfig are provided with the source code for Symbian platform and built into test builds. To build manually, the code is located in \networking\inetutil\.

IPSec, IPSec6, IPSecPol - These components use Flogger. For more information see Textual Logging.

PPP, RAW IP and other NIF 's - Full packet logging of each PPP frame is available from the PPP component. Enable the CDU tags and extract the binary output from the log file using the splitlog.bat program. For more information see Textual Logging. This binary output can then be loaded into a packet viewer program such as the freeware Wireshark (formerly Ethereal).

The RAW IP NIF will similarly log, using the CDU tag "LOG RawIP * ", in the Wireshark-compatible pcap format. The Ethernet NIF uses the "LOG TCPDump * " tags.

The TCPdumping example code hooks into the TCP/IP stack and dumps the TCP traffic in pcap format, which is suitable for loading into Wireshark. This is useful when using a NIF which does not provide its own logging. The TCPdumping executable is only built in test builds, so to build it manually refer to the source code located at networking\examplecode\tcpdumping.

Tcpip6 - The logs from this component are some of the most useful when debugging. Note that some versions of this component use Flogger, while others use CDU with the tags "LOG inet6 * ".