Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bd5c3d824c3db63ffd9226c15941e6ad > files > 1574

mozart-1.4.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>B Application Programming Interface</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node10.html#appendix.menus">&lt;&lt; Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="idx.html#label73">Next &gt;&gt;</A></TD></TR></TABLE><DIV id="appendix.api"><H1><A name="appendix.api">B Application Programming Interface</A></H1><H2><A name="label42">B.1 The <CODE>Ozcar</CODE> Module</A></H2><P> The <CODE>Ozcar</CODE> module, available at <CODE>x-oz://system/Ozcar</CODE>, exports the following features. </P><DL><DT><CODE>object</CODE><A name="label44"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Ozcar<SPAN class="keyword">.</SPAN>object&nbsp;</CODE><CODE>+<I>Message</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>provides the interface to the running debugger itself. It is described below. </P></DD><DT><CODE>open</CODE><A name="label46"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Ozcar<SPAN class="keyword">.</SPAN>open}</CODE> </P></BLOCKQUOTE></DD><DD><P>is identical to <CODE>{Ozcar<SPAN class="keyword">.</SPAN>object&nbsp;on}</CODE>. </P></DD><DT><CODE>close</CODE><A name="label48"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Ozcar<SPAN class="keyword">.</SPAN>close}</CODE> </P></BLOCKQUOTE></DD><DD><P>is identical to <CODE>{Ozcar<SPAN class="keyword">.</SPAN>object&nbsp;off}</CODE>. </P></DD><DT><CODE>breakpoint</CODE><A name="label50"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Ozcar<SPAN class="keyword">.</SPAN>breakpoint}</CODE> </P></BLOCKQUOTE></DD><DD><P>sets a static breakpoint (see <A href="node5.html#section.static-breakpoints">Section&nbsp;5.3.1</A>). Execution of <CODE>{Ozcar<SPAN class="keyword">.</SPAN>breakpoint}</CODE> causes the current thread to be stopped and attached to the debugger if the debugger has been started, and is ignored otherwise. </P></DD><DT><CODE>startServer</CODE><A name="label52"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Ozcar<SPAN class="keyword">.</SPAN>startServer&nbsp;</CODE><CODE>?<I>Ticket</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>starts a server to accept connections of remote debugging clients (see <A href="node8.html#chapter.remote">Chapter&nbsp;8</A>) and returns a ticket with which clients can connect. Once the server has been started, the expression <CODE>{Ozcar<SPAN class="keyword">.</SPAN>startServer}</CODE> will always return the same ticket. </P></DD></DL><P> </P><H2><A name="label53">B.2 <CODE>Ozcar<SPAN class="keyword">.</SPAN>object</CODE></A></H2><P> </P><DL><DT><CODE>init</CODE><A name="label55"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Ozcar<SPAN class="keyword">.</SPAN>object&nbsp;init()}</CODE> </P></BLOCKQUOTE></DD><DD><P>closes and recreates the internal Ozcar object, discarding all information about attached threads. Identical to the <CODE>Destoy</CODE> menu item described in <A href="node10.html#section.menu-ozcar">Section&nbsp;A.1.1</A>. </P></DD><DT><CODE>on</CODE><A name="label57"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Ozcar<SPAN class="keyword">.</SPAN>object&nbsp;on()}</CODE> </P></BLOCKQUOTE></DD><DD><P>starts Ozcar, opening the Ozcar window, setting the virtual machine to debug mode, and configuring the OPI compiler to generate debug code. </P></DD><DT><CODE>off</CODE><A name="label59"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Ozcar<SPAN class="keyword">.</SPAN>object&nbsp;off()}</CODE> </P></BLOCKQUOTE></DD><DD><P>by default, suspends Ozcar, closing its window, but keeping all information about attached threads. Restarting Ozcar (using <CODE>on()</CODE>) will resume a debugging session exactly where it has been left before. Can be reconfigured by <CODE>closeAction</CODE> (see below). </P></DD><DT><CODE>conf</CODE><A name="label61"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Ozcar<SPAN class="keyword">.</SPAN>object&nbsp;conf(</CODE><CODE><I>FeatureA</I></CODE><CODE>:&nbsp;</CODE><CODE>+<I>ValueX</I></CODE><CODE>&nbsp;<SPAN class="keyword">...</SPAN>)}</CODE> </P></BLOCKQUOTE></DD><DD><P>configures Ozcar parameters. The method must be a record where each feature <CODE><I>FeatureA</I></CODE> is a configuration parameter and the corresponding subtree <CODE><I>ValueX</I></CODE> the value to set the parameter to. See <A href="node11.html#section.configuration">Section&nbsp;B.3</A> for a list of parameters. </P></DD><DT><CODE>bpAt</CODE><A name="label63"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Ozcar<SPAN class="keyword">.</SPAN>object&nbsp;bpAt(</CODE><CODE>+<I>FileV</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>LineI</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>EnableB</I></CODE><CODE>)}</CODE> </P></BLOCKQUOTE></DD><DD><P>sets or resets dynamic breakpoints. All step points in files with name <CODE><I>FileV</I></CODE> and in line <CODE><I>LineI</I></CODE> are affected. The flag <CODE><I>EnableB</I></CODE> specifies whether dynamic breakpoints at these step points should be enabled (<CODE><SPAN class="keyword">true</SPAN></CODE>) or disabled (<CODE><SPAN class="keyword">false</SPAN></CODE>). See <A href="node5.html#section.dynamic-breakpoints">Section&nbsp;5.3.2</A> for more information on dynamic breakpoints. </P></DD><DT><CODE>lastClickedValue</CODE> <A name="label65"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Ozcar<SPAN class="keyword">.</SPAN>object&nbsp;lastClickedValue(</CODE><CODE><I>X</I></CODE><CODE>)}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns the value that has last been clicked on in the user interface, causing it to be passed to the Inspector. </P></DD></DL><P> </P><DIV id="section.configuration"><H2><A name="section.configuration">B.3 Configuration Options</A></H2><P> </P><TABLE align="center" bgcolor="#f0f0e0" id="table.prop.application"><TR valign="top"><TH><P>Feature</P></TH><TH><P>Type</P></TH><TH><P>Default</P></TH><TH><P>Description</P></TH></TR><TR valign="top"><TD><P><A name="label66"></A><SPAN class="index"><CODE>timeoutToSwitch</CODE></SPAN></P></TD><TD><P>integer</P></TD><TD><P>100</P></TD><TD><P>Timeout in milliseconds before a thread switch is performed, unless another thread switch is initiated before it.</P></TD></TR><TR valign="top"><TD><P><A name="label67"></A><SPAN class="index"><CODE>timeoutToUpdateEnv</CODE></SPAN></P></TD><TD><P>integer</P></TD><TD><P>200</P></TD><TD><P>Timeout in milliseconds before the Environment Views are updated, unless another environment has been requested before this.</P></TD></TR><TR valign="top"><TD><P><A name="label68"></A><SPAN class="index"><CODE>emacsInterface</CODE></SPAN></P></TD><TD><P><CODE><SPAN class="keyword">false</SPAN></CODE> or an object</P></TD><TD><P>The OPI</P></TD><TD><P>The object to talk to for source display and highlighting requests. Typically an instance of <CODE>Emacs<SPAN class="keyword">.</SPAN>interface</CODE>.</P></TD></TR><TR valign="top"><TD><P><A name="label69"></A><SPAN class="index"><CODE>closeAction</CODE></SPAN></P></TD><TD><P><CODE><SPAN class="keyword">unit</SPAN></CODE> or a nullary procedure</P></TD><TD><P><CODE><SPAN class="keyword">unit</SPAN></CODE></P></TD><TD><P>Configures how the <CODE>off()</CODE> method behaves - and thus, how the <CODE>Suspend</CODE> menu item and <CODE>Ozcar<SPAN class="keyword">.</SPAN>close</CODE> API function behave. If the <CODE>closeAction</CODE> is <CODE><SPAN class="keyword">unit</SPAN></CODE>, then Ozcar is suspended, else the specified procedure is invoked.</P></TD></TR></TABLE><P> </P></DIV><H2><A name="label70">B.4 The <CODE>OzcarClient</CODE> Module</A></H2><P> </P><DL><DT><CODE>start</CODE><A name="label72"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{OzcarClient<SPAN class="keyword">.</SPAN>start&nbsp;</CODE><CODE>+<I>Ticket</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>starts a local debug session, connecting to a remote debugger using <CODE><I>Ticket</I></CODE>. This sets the virtual machine to debug mode (if and only if the remote debugger is active) and sets up threads to forward debug events to the remote debugger and to locally execute control operations generated by the remote debugger. This should not be used with a local Ozcar runnning. See <A href="node8.html#chapter.remote">Chapter&nbsp;8</A> for more information on remote debugging. </P></DD></DL><P></P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node10.html#appendix.menus">&lt;&lt; Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="idx.html#label73">Next &gt;&gt;</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~lorenz/">Benjamin&nbsp;Lorenz</A> and&nbsp;<A href="http://www.ps.uni-sb.de/~kornstae/">Leif&nbsp;Kornstaedt</A><BR><SPAN class="version">Version 1.4.0 (20090610)</SPAN></ADDRESS></BODY></HTML>