/usr/share/mozart/doc/ozcar/node10.html is in mozart-doc 1.4.0-8ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>A Menu Reference</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="node9.html#chapter.limitations"><< Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="node11.html#appendix.api">Next >></A></TD></TR></TABLE><DIV id="appendix.menus"><H1><A name="appendix.menus">A Menu Reference</A></H1><P> This chapter gives a complete description of all the menus available within Ozcar. </P><H2><A name="label31">A.1 The Main Menu</A></H2><P> The main menu is located on the top of Ozcar's main window. </P><DIV id="section.menu-ozcar"><H3><A name="section.menu-ozcar">A.1.1 Ozcar</A></H3><P> </P><DIV align="center"><IMG alt="" src="menu-ozcar.gif"></DIV><P> </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">About...</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Pops up an info box containing platform and bug reporting information. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Start Server</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Starts a server locally (if not already started) to accept incoming connections for remote debugging. Furthermore, a dialog box is popped up displaying the ticket that remote sites need to connect to. Once a server has been started, this operation will always return the same ticket. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Destroy</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Closes the internal Ozcar object. Use this menu entry only if Ozcar hangs, as all information about currently attached threads gets lost. Threads are not killed explicitly, but unless some other reference to them is retained, they are likely to be garbage collected if they had been stopped. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Suspend</TD><TD align="right">C-x</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>By default, closes the main window, sets the virtual machine to non-debug mode, and causes the compiler to generate non-debug code. Information about currently attached threads is preserved. Can be reconfigured using the API by the <CODE>closeAction</CODE> parameter. </P></DD></DL><P> </P></DIV><H3><A name="label32">A.1.2 Action</A></H3><P> </P><DIV align="center"><IMG alt="" src="menu-action.gif"></DIV><P> </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Step Into</TD><TD align="right">s</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Do exactly one step (stop again at the next step point, enter procedures). Identical to pressing the <IMG alt="" src="step.gif"> button. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Step Over</TD><TD align="right">n</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Do one step, not stopping on nested constructs which constitute a step point. Identical to pressing the <IMG alt="" src="next.gif"> button. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Unleash</TD><TD align="right">c</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Continue execution until the selected stack frame is about to be popped from the stack, or until the stack is empty if no frame is selected. Identical to pressing the <IMG alt="" src="unleash.gif"> button. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Stop</TD><TD align="right">z</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Stop the selected thread at the next step point it reaches, or immediately if it is blocked. Identical to pressing the <IMG alt="" src="stop.gif"> button. </P></DD></DL><P> </P><H4><A name="label33">Detach</A></H4><P> This menu contains some useful entries to detach one or more attached threads. </P><P> </P><DIV align="center"><IMG alt="" src="submenu-detach.gif"></DIV><P> </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Current</TD><TD align="right">d</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Detach the selected thread. Identical to pressing the <IMG alt="" src="detach.gif"> button. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">All But Current</TD><TD align="right">C-d</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Leave the current thread alone in the thread forest. Detach all others, letting them run freely (unless dead). </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">All</TD><TD align="right">M-d</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Detach all threads, letting them run freely (unless dead). </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">All Dead</TD><TD align="right">M-u</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Detach all dead threads. </P></DD></DL><P> </P><H4><A name="label34">Terminate</A></H4><P> This menu contains some useful entries to detach <EM>and kill</EM> one or more attached threads. </P><P> </P><DIV align="center"><IMG alt="" src="submenu-terminate.gif"></DIV><P> </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Current</TD><TD align="right">t</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Detach and kill the current thread. Identical to pressing the <IMG alt="" src="kill.gif"> button. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">All But Current</TD><TD align="right">C-t</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Leave the current thread alone in the thread forest. Detach and kill all others. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">All</TD><TD align="right">M-t</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Detach and kill all threads. </P></DD></DL><P> </P><H3><A name="label35">A.1.3 Thread</A></H3><P> </P><DIV align="center"><IMG alt="" src="menu-thread.gif"></DIV><P> </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Previous</TD><TD align="right">Left</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Select the thread which is located above the selected thread in the thread forest. If the selected thread is the topmost thread in the forest, the bottommost thread is selected. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Next</TD><TD align="right">Right</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Select the thread which is located below the selected thread in the thread forest. If the selected thread is the bottommost thread in the forest, the topmost thread is selected. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Status</TD><TD align="right">C-s</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Print some useful information about the currently attached threads, for example: <CODE>2 attached threads, currently selected: 58/1 (stopped, runnable)</CODE>. The two numbers associated with the selected thread are the thread ID and the parent's thread ID. In parentheses, the thread's state is given. </P></DD></DL><P> </P><H3><A name="label36">A.1.4 Stack</A></H3><P> </P><DIV align="center"><IMG alt="" src="menu-stack.gif"></DIV><P> </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Previous Frame</TD><TD align="right">Up</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Select the previous stack frame (if it exists) of the selected thread. Note that the stack grows downwards, so you will reach an older frame. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Next Frame</TD><TD align="right">Down</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Select the next stack frame (if it exists) of the selected thread; you will reach a younger frame. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Recalculate</TD><TD align="right">C-l</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Update the Stack View. You may see internal stack frames appear, as well updated values in the Environment Views. (There is <EM>no</EM> automatic update to display a value as soon as it changes.) </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Update Env</TD><TD align="right">v</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Immediately recalculates and redisplays the environment of the selected stack frame. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Query...</TD><TD align="right">e</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Opens a dialog box where statements can be executed or expressions evaluated in the context of the currently selected stack frame's environment. If the computation does not terminate, use the Reset button to cancel the operation and kill the computation. </P></DD></DL><P> </P><H3><A name="label37">A.1.5 Options</A></H3><P> </P><DIV align="center"><IMG alt="" src="menu-options.gif"></DIV><P> </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Use Emacs</TD><TD align="right">C-e</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>If turned off Emacs is not used as a Source View, so you don't get any source position information. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Env Auto Update</TD><TD align="right">C-a</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>If you debug threads with huge environments, it may be a good idea to turn of the automatic update of the environment (recalculation and redisplay every time you make a step) in order to save time and memory. When the variables display is not up to date, it will be displayed in gray. You can always request the current environment by pressing <SPAN class="key">v</SPAN> (see above, item <CODE>Update Env</CODE>). </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Preferences...</TD><TD align="right">C-o</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Opens a dialog box to adjust preferences. For instance, many events are handled in batch mode if they arrive in quick succession. The <CODE>Idle Time To Perform Action</CODE> preferences define what a ``quick succession'' is. You can also adjust the width and depth to which values are displayed in the Stack and Environment Views (if <CODE>Value Printing</CODE> is set to <CODE>Complete</CODE>). Furthermore, the display of ``system variables'' can be suppressed in the Environment Views (<A name="label38"></A><EM>system variables</EM> are variables starting with a backquote - they are used by the compiler for built-in runtime operations). Application of the primitive procedures <CODE><SPAN class="keyword">.</SPAN></CODE> (feature selection) and <CODE>NewName</CODE> can be ignored for purposes of stepping. Last but not least some logging of the workings of Ozcar can be printed to standard output - should you ever want to report a bug in the debugger itself, you should try to include this information in your report. </P></DD></DL><P> </P><H4><A name="label39">Value Printing</A></H4><P> In this menu you can determine how to display values in the Stack and Environment Views. There is the short form which only prints type information for most values, and a long form which always prints the actual value (up to a given print width and depth, which can be set in the Preferences dialog box, see below). </P><P> </P><DIV align="center"><IMG alt="" src="submenu-valueprinting.gif"></DIV><P> </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Types Only</TD><TD align="right"><</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>This is the default setting. You just see type information, which leads to a very compact display style. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left" width="85%">Complete</TD><TD align="right">></TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>You see the actual value, using the function <CODE>Value<SPAN class="keyword">.</SPAN>toVirtualString</CODE>. This display mode can be quite unhandy if the values to be printed are large tuples or records. You should carefully adjust the print depth and print width to your needs. </P></DD></DL><P> </P><H2><A name="label40">A.2 SubThreads</A></H2><P> This menu is located to the right of the button bar, below the menu bar. You can select how child threads of <EM>already attached</EM> threads should be treated. </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Ignore</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Children will not be attached at all, but run freely. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Attach</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Children will be attached and immediately stopped. This is the default. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Unleash 0</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Children will be attached and the command <CODE>Unleash 0</CODE> be executed. This gives you a good feeling about how threads are created in a concurrent application. They will terminate normally (unless they block somewhere), but will still be included in the thread view. </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Unleash 1</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>Children will be attached and the command <CODE>Unleash 1</CODE> be executed. This makes it possible to explore the environment of every child thread just before it terminates. </P></DD></DL><P> </P><H2><A name="label41">A.3 Queries</A></H2><P> This menu is located to the right of the button bar, next to the <CODE>SubThreads</CODE> menu. You can select how threads created by the OPI are treated by Ozcar. </P><DL><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Ignore</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>OPI threads are not attached, neither are any of their subthreads (unless, of course, they run into a breakpoint). </P></DD><DT></DT><TABLE><TR><TD><TABLE bgcolor="#cccccc" border="1" cellpadding="3" cellspacing="0" width="130"><TR><TD align="left">Attach</TD></TR></TABLE></TD><TD></TD></TR></TABLE><DT> </DT><DD><P>OPI threads are attached and immediately stopped. This is the default. </P></DD></DL><P> </P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node9.html#chapter.limitations"><< Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="node11.html#appendix.api">Next >></A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~lorenz/">Benjamin Lorenz</A> and <A href="http://www.ps.uni-sb.de/~kornstae/">Leif Kornstaedt</A><BR><SPAN class="version">Version 1.4.0 (20110908185330)</SPAN></ADDRESS></BODY></HTML>
|