<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="LASTUPDATED" content="06/17/05 11:09:43" />
<title>Symbian OS Data</title>
<link rel="StyleSheet" href="../../../book.css" type="text/css"/>
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
</head>
<body >
<h2>Symbian Data view</h2>
<p>The <img src="../../images/command_link.png" border="0" alt="" /> <a href='javascript:executeCommand("org.eclipse.ui.views.showView(org.eclipse.ui.views.showView.viewId=com.nokia.carbide.cpp.debug.kernelaware.ui.SymbianOSView)")' class="command-link"><b>Symbian Data</b></a> view displays the processes and threads for the suspended debug session based on the selection in the <a href="../debug/viewing_debug.htm">Debug</a> view. Read-only data is displayed for ARM build configurations. To open the Symbian Data view select<b> Window &gt; Show View &gt; Symbian Data</b> when the <a href="perspective_debug.htm">Debug</a> perspective is visible or select <b>Window &gt; Show View &gt; Other...</b>, then expand the Carbide.c++ folder and select <b>Symbian Data</b> when the <a href="../../projects/views/perspective_carbide.htm">Carbide C/C++ perspective</a> is visible. Click <b>Ok</b> to display the Symbian Data window (Figure 1).</p>
<p class="note"><b>NOTE</b> The Symbian Data view works with the debugger and will only display data during a live debug session. The Symbian Data view is not supported for emulator debugging, and will not show anything during emulator debug.</p>
<p>The <b>Symbian Data</b> view reveals kernel data in the Symbian running on the device being debugged. The kernel data displayed is always that of the device with the currently selected thread or process in <a href="../debug/viewing_debug.htm">Debug</a> view. If you are debugging two devices at the same time, the content of the view will change when focus is switched from a thread on one device to a thread on another device. The kernel data includes more than just processes and threads. </p>
<p>For the stop mode debugger and the crash debugger, all the data listed above is supported. For the Application and Symbian Device debuggers, the chunks and libraries views are not supported. The Symbian Data view is not supported for the emulator debugger and will show nothing during an emulator debug session. During a stop mode debug session or a CODA debug session, you are able to select a process or a thread in the Symbian Data view and attach the debugger to it for source level debugging if the binary  is listed in the <a href="../../projects/views/view_executables.htm">Executables</a> view. Binaries listed in the Executable view can be source level debugged. Binaries  not listed in the Executables view can only be assembly code debugged in the <a href="view_disassembly.htm">Disassembly</a> view.</p>
<p class="note"><b>NOTE</b> Any executable must be included in the <b>Executables</b> view before it can be debugged. </p>
<p>When the <a href="../../reference/pref_carb_debugger.htm">Time interval for auto-refreshing OS View</a> option is enabled (which is on by default except for crash debugger), the data in the Symbian Data view will be auto-refreshed. Note that &quot;auto-refresh&quot; has a different meaning in different debuggers. During a stop mode debug session, the view will refresh data whenever the debugged program on the device is stopped and shows data as stale (greyed out) when the program is running. During a CODA debug session, the View will refresh data at a time interval regardless of whether the debugged program is stopped or not. The time interval is specified by an option in the Carbide.c++ global preference panel, which is five seconds by default.</p>
<p>When auto-refresh is turned off, the debugger will not automatically refresh data in the View and will show the data as stale (greyed out). However you can manually refresh the data by clicking on the &quot;Refresh&quot; button in the View. Usually you may want to turn off the auto-refresh if you think it is slowing down your debug operations such as stepping.</p>
<h3>Symbian Data pages
</h3>
<p>The Symbian Data view consists of five tabs. Each tabbed pane is described below. In all panes, the <b>Name Filter</b> field is a standard Eclipse UI control that allows you to find an item by filtering out items by name using wildcards (*, ?) and camel case naming conventions. Camel case refers to using mixed case multiple names merged together  in coding like <span class="code">SecInvInit</span> and <span class="code">DosServer</span>. In all panes, you can select an item and view its properties (attributes). In panes with columns you can click a column title to toggle between ascending and descending sorting. </p>
<p>Data to be viewed includes:</p>
<ul>
  <li><a href="#overview">Overview</a></li>
  <li><a href="#processes">Processes</a></li>
  <li><a href="#threads">Threads</a></li>
  <li><a href="#chunks">Chunks</a></li>
  <li><a href="#Library">Libraries</a></li>
</ul>
<p class="note"><b>NOTE</b>  Information for the Chunks and Libraries tabs is not available when debugging with the CODA debug agent.</p>
<h4><a name="overview" id="overview"></a>Overview Tab</h4>
<p>This tab (shown in Figure 1) provides a tree view of ownership  of all processes, threads, and chunks in the OS. 
  In contrast, the other tabs provide a flat list of corresponding kernel objects such as process, thread, chunk, library, etc.</p>
<p align="center"><img src="../../reference/images/view_symbianOSkernel.png" width="602" height="300" alt="" /></p>
<p class="figure">Figure 1. Symbian Data view</p>
<h5>Table 1 - Symbian Data view toolbar buttons </h5>
<table cellpadding="2" cellspacing="0"
border="0">
  <tr valign="top">
    <th width="209" class="Cell">Button</th>
    <th width="49" class="Cell">Icon</th>
    <th width="534" class="Cell">Function</th>
  </tr>
  <tr valign="top">
    <td class="Cell"><p> <b>Refresh data</b></p></td>
    <td class="Cell"><div align="center"><img src="../../reference/images/view_symbianOSbtn_refresh.png" width="19" height="19" alt="" /></div></td>
    <td class="Cell"><p> Click this button to force a refresh of data in the view. Use the <a href="../../reference/pref_carb_debugger.htm">Carbide.c++ Debugger</a> preference panel <b>Time interval for auto-refreshing OS View</b> option to control the automatic refreshing of data. </p></td>
  </tr>
  <tr valign="top">
    <td class="Cell"><p> <b>Enable/disable auto-refresh</b> </p></td>
    <td class="Cell"><div align="center"><img src="../../reference/images/view_symbianOSbtn_autorefresh.png" width="19" height="21" alt="" /></div></td>
    <td class="Cell"><p> Click this button to turn on/off  auto refresh of data.</p></td>
  </tr>
  <tr valign="top">
    <td class="Cell"><p> <b>Debug process or thread</b> </p></td>
    <td class="Cell"><div align="center"><img src="../../reference/images/view_symbianOSbtn_debug.png" width="22" height="20" alt="" /></div></td>
    <td class="Cell"><p> Click the <b>Debug</b> button to attach to the process and debug the selected process or thread. Or right-click an item and choose <b>Debug</b>. This applies to both CODA (run mode) and TCF (stop mode).</p>
    </td>
  </tr>
  <tr valign="top">
    <td class="Cell"><p> <b>Properties</b> </p></td>
    <td class="Cell"><div align="center"><img src="../../reference/images/view_symbianOSbtn_prop.png" width="21" height="18" alt="" /></div></td>
    <td class="Cell"><p>Click this button to show properties of currently selected item in the <b>Properties</b> view. Or right-click an item and choose <b>Properties</b>.</p></td>
  </tr>
  <tr valign="top">
    <td class="Cell"><p> <b>Timer</b></p></td>
    <td class="Cell"><div align="center"><img src="../../reference/images/view_symbianOSbtn_timer.png" width="21" height="18" alt="" /></div></td>
    <td class="Cell"><p> Click this button to define the time interval for auto-refreshing data. This applies to run mode debugging only. </p></td>
  </tr>
  <tr valign="top">
    <td class="Cell"><b>Collapse All </b></td>
    <td class="Cell"><div align="center"><img src="../../reference/images/view_symbianOSbtn_collapse.png" width="17" height="17" alt="" /></div></td>
    <td class="Cell">Click the <b>Collaps All</b> command to collapse all of the currently elements in the view.</td>
  </tr>
</table>
<h4><a name="processes" id="processes"></a>Processes</h4>
<p>The Processes tab (Figure 2) provides a flat list of corresponding kernel objects. 
Click a column title to sort the list by the title attribute in alternating ascending and descending order. For example, you may choose to sort the process list by Name, ID, or by Priority. </p>
<p align="center"><img src="../../reference/images/view_symbianOS_PTC.png" width="602" height="291" alt="" /></p>
<p class="figure">Figure 2. Processes Pane of Symbian View</p>
<p>The process(es) being debugged will be shown in bold font. You can debug (attach debugger to) any process in the Processes tab by selecting it and clicking the &quot;Debug&quot; button or just by double clicking on it. In that case a new process item will show up in the Debug View if the process is not being debugged. Otherwise, you will get a message saying it's already under debug.</p>
<h4><a name="threads" id="threads"></a>Threads</h4>
<p>The Threads tab (Figure 3) provides a flat list of corresponding kernel objects. The list will display &ldquo;sortable&rdquo; attributes of that type of object in columns. The &ldquo;sortable attribute&rdquo; means you can sort the list by that attribute. For example, you may want to sort the list by the owning process name. Sort the list of any column by clicking on the column header. The thread(s) being debugged will be shown in bold font.</p>
<p class="note"><b>NOTE</b> You can debug (attach debugger to) any thread in the Thread tab by double clicking on it or selecting it and clicking the Debug button. In that case, a new thread item will show up in Debug view if the thread is not being debugged.</p>
<p align="center"><img src="../../reference/images/view_symbianOS_threads.png" width="602" height="291" alt="" /></p>
<p class="figure">Figure 3. Threads Pane of Symbian View</p>
<h4><a name="chunks" id="chunks"></a>Chunks</h4>
<p>Chunks are an area of contiguous linear memory. It is the unit of memory allocation where a region of RAM is mapped into contiguous logical addresses. Chunks are allocated during boot for such things as the Kernel's data and stack.</p>
<p>The Chunks tab (Figure 4) provides a flat list of corresponding kernel objects. The list will display &ldquo;sortable&rdquo; attributes of that type of object in columns. The &ldquo;sortable attribute&rdquo; means you can sort the list by that attribute. For example, you may want to sort the list by the owning process name. Sort the list of any column by clicking on the column header.</p>
<p class="note"> <b>NOTE</b> Chunks data is not available during CODA debugging.</p>
<p align="center"><img src="../../reference/images/view_symbianOS_chunks.png" width="530" height="278" alt="" /></p>
<p class="figure">Figure 4. Chunks Pane of Symbian View</p>
<h4><a name="Library" id="Library"></a>Libraries Tab</h4>
<p> The Libraries pane (Figure 5) in the Symbian view provides  information on libraries in the Symbian residing on the target.</p>
<p class="note"> <b>NOTE</b> Library data is not available during CODA debugging.</p>
<p align="center"><img src="../../reference/images/view_symbianOS_Lib.png" width="531" height="278" alt="" /></p>
<p class="figure">Figure 5. Libraries Pane of Symbian View</p>
<h3><a name="attach" id="attach"></a>Attaching to a Process</h3>
<p>If <span class="note">you double click on a thread item in the Thread tab, or right-click and choose <b>Debug</b>, the owning process of the thread will be attached.</span> The thread with an attached process will appear in bold. You can also select a thread and click the bug icon in the Symbian Data toolbar. You can also view properties for the attached process by clicking the &quot;Show properties of the selected item&quot; icon () in the Symbian Data toolbar or right-click the thread and choose <b>Properties</b>.</p>
<p class="note"><b>NOTE </b>If an executable is not part of a project in the workspace use the Executables view to import an executable to make it visible to the debugger. Once included in the Executables list, the symbolics for that executable can be loaded and breakpoints resolved and hit. Open a source file in an editor view or use the <a href="view_breakpoints.htm">Breakpoints</a> view to verify that the executable breakpoints have been <a href="../../concepts/breakpoints.htm">resolved</a>. </p>
<p class="note"><b>IMPORTANT</b> In stop mode debugging when debugging multiple processes at the same time, selecting a process in the <a href="../debug/viewing_debug.htm">Debug</a> pane and clicking <b>Terminate</b> disconnects the attached process on the board, leaving  all other processes running. It does not terminate the debug session.  However, if there is only one debug process  when you click <b>Terminate</b> the CPU is  suspended until the next debug session.</p>
<p class="note"><b>WARNING</b> Detaching from a system process or any process not initiated by the program you are attempting to debug may cause the device to stop working, forcing a restart of the device. </p>
<p><img src="../../reference/images/symOSData_attachprocess.png" width="1144" height="332" alt="" /></p>
<h5>Other  references</h5>
<ul>
  <li><a href="../debug/viewing_debug.htm">Debug view</a></li>
  <li><a href="../../tasks/debugger/view_symbian_kernel_set.htm">Setting Symbian View Refresh Rate</a><br />
  </li>
</ul>
<div id="footer">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>

</body>
</html>
