Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --><!-- This component and the accompanying materials are made available under the terms of the License "Eclipse Public License v1.0" which accompanies this distribution, and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --><!-- Initial Contributors: Nokia Corporation - initial contribution.Contributors: --><!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"><concept id="GUID-BD9F3912-9C8B-5962-BEC7-D5F961335B49" xml:lang="en"><title>KernelTrace Tool Overview</title><shortdesc>Describes the Kernel Trace tool to obtain trace information. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-6DC0934A-BE24-4E13-8603-011BBBBFA8DE"><title>Purpose</title> <p>Thetrace tool provides a means of extracting trace data from a memory buffer. </p> </section><section id="GUID-5933F3F4-AE73-4E6D-9E4D-0D5A854F39C3"><title>Required background</title> <p>Thekernel trace tool LDD is only a part of the actual kernel trace tool. </p> <p>Theactual kernel trace tool consists of the following: </p> <ul><li id="GUID-1D5857F0-418E-5ECE-BC9F-BF97DF06DAC3"><p><filepath>btracex.ldd</filepath> </p> <p>Usedto obtain kernel activity and place it in a buffer that can be seen by user-sideapplications. </p> </li><li id="GUID-8C2EA2EA-2A04-51E3-98F3-CBDE01F62CE9"><p>trace filters definedin EUser </p> <p>Used to filter out the trace information that is not required. </p> </li><li id="GUID-B370EE1C-8CB3-5A9A-AD70-DB591D77BDFC"><p><filepath>btracec.dll</filepath> and <filepath>btracec.lib</filepath> </p> <p>Usedto provide an interface for extracting trace data from a memory buffer. </p> </li></ul> </section><section id="GUID-A6FB8DB6-5623-401B-8112-1FD0789B1785"><title>Key conceptsand terms</title> <dl><dlentry><dt>user-side and kernel-side</dt><dd><p>When an application asks for service from an operating system it isactually making a request for the operating system to carry this out (a stateof affairs known as user-side). The request can only be carried out by theoperating system (a state of affairs known as kernel-side). </p> <p>This methodis used to prevent one process (or thread) from interfering with the internaloperation of another. </p> </dd></dlentry></dl> </section><section id="GUID-86FFD675-07A0-4502-9BDE-58A8FCDB5A7F"><title>Architecture</title> <p>Thetrace tool consists of two parts, a driver on the user-side that capturesthe required kernel events and writes them to a buffer that be accessed byuser-side applications. Then a trace filter, <filepath>btracec.dll</filepath> and <filepath>btrace.lib</filepath> areused as an interface to the trace buffer. </p> </section><section id="GUID-0932C259-5F05-4F95-B16C-C08D345EE3C2"><title>APIs</title> <table id="GUID-AE6F13C1-B835-5A4E-B834-9515146CAA3C"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry><entry>Description</entry></row></thead><tbody><row><entry><p> <xref href="GUID-9E859841-E8A3-37D5-9A19-BCAA3C700922.dita"><apiname>RBTrace</apiname></xref> </p> </entry><entry><p>Interface to the fast-trace memory buffer. </p> <p> <note> Use btracec.dlland btracec.lib to access this buffer.</note> </p> </entry></row></tbody></tgroup></table> </section><section id="GUID-E461A3A5-99E9-49AC-ADF4-ADEEFE524A47"><title>Typical uses</title> <p>Thekernel trace tool is intended to be used by developers for obtaining traceinformation. </p> </section></conbody><related-links><link href="GUID-BD9F3912-9C8B-5962-BEC7-D5F961335B49.dita"><linktext>Kernel TraceTool Overview</linktext></link></related-links></concept>