Sophie

Sophie

distrib > Fedora > 17 > i386 > media > updates > by-pkgid > 675c8c8167236dfcf8d66da674f931e8 > files > 490

erlang-doc-R15B-03.3.fc17.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css">
<title>Erlang -- i</title>
</head>
<body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container">
<script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript">
            <!--
              function getWinHeight() {
                var myHeight = 0;
                if( typeof( window.innerHeight ) == 'number' ) {
                  //Non-IE
                  myHeight = window.innerHeight;
                } else if( document.documentElement && ( document.documentElement.clientWidth ||
                                                         document.documentElement.clientHeight ) ) {
                  //IE 6+ in 'standards compliant mode'
                  myHeight = document.documentElement.clientHeight;
                } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
                  //IE 4 compatible
                  myHeight = document.body.clientHeight;
                }
                return myHeight;
              }

              function setscrollpos() {
                var objf=document.getElementById('loadscrollpos');
                 document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2;
              }

              function addEvent(obj, evType, fn){
                if (obj.addEventListener){
                obj.addEventListener(evType, fn, true);
                return true;
              } else if (obj.attachEvent){
                var r = obj.attachEvent("on"+evType, fn);
                return r;
              } else {
                return false;
              }
             }

             addEvent(window, 'load', setscrollpos);

             //--></script><div id="leftnav"><div class="innertube">
<img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/debugger-3.2.8.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>Debugger</strong><br><strong>Reference Manual</strong><br><small>Version 3.2.8</small></p>
<br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Table of Contents</strong></small></p>
<ul class="flipMenu">
<li id="no" title="debugger " expanded="false">debugger<ul>
<li><a href="debugger.html">
                  Top of manual page
                </a></li>
<li title="start-0"><a href="debugger.html#start-0">start/0</a></li>
<li title="start-1"><a href="debugger.html#start-1">start/1</a></li>
<li title="start-1"><a href="debugger.html#start-1">start/1</a></li>
<li title="start-2"><a href="debugger.html#start-2">start/2</a></li>
<li title="quick-3"><a href="debugger.html#quick-3">quick/3</a></li>
</ul>
</li>
<li id="loadscrollpos" title="i " expanded="true">i<ul>
<li><a href="i.html">
                  Top of manual page
                </a></li>
<li title="im-0"><a href="i.html#im-0">im/0</a></li>
<li title="ii-1"><a href="i.html#ii-1">ii/1</a></li>
<li title="ii-1"><a href="i.html#ii-1">ii/1</a></li>
<li title="ini-1"><a href="i.html#ini-1">ini/1</a></li>
<li title="ini-1"><a href="i.html#ini-1">ini/1</a></li>
<li title="iq-1"><a href="i.html#iq-1">iq/1</a></li>
<li title="inq-1"><a href="i.html#inq-1">inq/1</a></li>
<li title="il-0"><a href="i.html#il-0">il/0</a></li>
<li title="ip-0"><a href="i.html#ip-0">ip/0</a></li>
<li title="ic-0"><a href="i.html#ic-0">ic/0</a></li>
<li title="iaa-1"><a href="i.html#iaa-1">iaa/1</a></li>
<li title="iaa-2"><a href="i.html#iaa-2">iaa/2</a></li>
<li title="ist-1"><a href="i.html#ist-1">ist/1</a></li>
<li title="ia-1"><a href="i.html#ia-1">ia/1</a></li>
<li title="ia-3"><a href="i.html#ia-3">ia/3</a></li>
<li title="ia-2"><a href="i.html#ia-2">ia/2</a></li>
<li title="ia-4"><a href="i.html#ia-4">ia/4</a></li>
<li title="ib-2"><a href="i.html#ib-2">ib/2</a></li>
<li title="ib-3"><a href="i.html#ib-3">ib/3</a></li>
<li title="ir-0"><a href="i.html#ir-0">ir/0</a></li>
<li title="ir-1"><a href="i.html#ir-1">ir/1</a></li>
<li title="ir-2"><a href="i.html#ir-2">ir/2</a></li>
<li title="ir-3"><a href="i.html#ir-3">ir/3</a></li>
<li title="ibd-2"><a href="i.html#ibd-2">ibd/2</a></li>
<li title="ibe-2"><a href="i.html#ibe-2">ibe/2</a></li>
<li title="iba-3"><a href="i.html#iba-3">iba/3</a></li>
<li title="ibc-3"><a href="i.html#ibc-3">ibc/3</a></li>
<li title="ipb-0"><a href="i.html#ipb-0">ipb/0</a></li>
<li title="ipb-1"><a href="i.html#ipb-1">ipb/1</a></li>
<li title="iv-0"><a href="i.html#iv-0">iv/0</a></li>
<li title="help-0"><a href="i.html#help-0">help/0</a></li>
</ul>
</li>
<li id="no" title="int " expanded="false">int<ul>
<li><a href="int.html">
                  Top of manual page
                </a></li>
<li title="i-1"><a href="int.html#i-1">i/1</a></li>
<li title="i-1"><a href="int.html#i-1">i/1</a></li>
<li title="ni-1"><a href="int.html#ni-1">ni/1</a></li>
<li title="ni-1"><a href="int.html#ni-1">ni/1</a></li>
<li title="n-1"><a href="int.html#n-1">n/1</a></li>
<li title="nn-1"><a href="int.html#nn-1">nn/1</a></li>
<li title="interpreted-0"><a href="int.html#interpreted-0">interpreted/0</a></li>
<li title="file-1"><a href="int.html#file-1">file/1</a></li>
<li title="interpretable-1"><a href="int.html#interpretable-1">interpretable/1</a></li>
<li title="auto_attach-0"><a href="int.html#auto_attach-0">auto_attach/0</a></li>
<li title="auto_attach-1"><a href="int.html#auto_attach-1">auto_attach/1</a></li>
<li title="auto_attach-2"><a href="int.html#auto_attach-2">auto_attach/2</a></li>
<li title="stack_trace-0"><a href="int.html#stack_trace-0">stack_trace/0</a></li>
<li title="stack_trace-1"><a href="int.html#stack_trace-1">stack_trace/1</a></li>
<li title="break-2"><a href="int.html#break-2">break/2</a></li>
<li title="delete_break-2"><a href="int.html#delete_break-2">delete_break/2</a></li>
<li title="break_in-3"><a href="int.html#break_in-3">break_in/3</a></li>
<li title="del_break_in-3"><a href="int.html#del_break_in-3">del_break_in/3</a></li>
<li title="no_break-0"><a href="int.html#no_break-0">no_break/0</a></li>
<li title="no_break-1"><a href="int.html#no_break-1">no_break/1</a></li>
<li title="disable_break-2"><a href="int.html#disable_break-2">disable_break/2</a></li>
<li title="enable_break-2"><a href="int.html#enable_break-2">enable_break/2</a></li>
<li title="action_at_break-3"><a href="int.html#action_at_break-3">action_at_break/3</a></li>
<li title="test_at_break-3"><a href="int.html#test_at_break-3">test_at_break/3</a></li>
<li title="get_binding-2"><a href="int.html#get_binding-2">get_binding/2</a></li>
<li title="all_breaks-0"><a href="int.html#all_breaks-0">all_breaks/0</a></li>
<li title="all_breaks-1"><a href="int.html#all_breaks-1">all_breaks/1</a></li>
<li title="snapshot-0"><a href="int.html#snapshot-0">snapshot/0</a></li>
<li title="clear-0"><a href="int.html#clear-0">clear/0</a></li>
<li title="continue-1"><a href="int.html#continue-1">continue/1</a></li>
<li title="continue-3"><a href="int.html#continue-3">continue/3</a></li>
</ul>
</li>
</ul>
</div></div>
<div id="content">
<div class="innertube">
<!-- refpage --><center><h1>i</h1></center>
  
  <h3>MODULE</h3>
<div class="REFBODY">i</div>
  <h3>MODULE SUMMARY</h3>
<div class="REFBODY">Debugger/Interpreter Interface</div>
  <h3>DESCRIPTION</h3>
<div class="REFBODY"><p>
    <p>The module <span class="code">i</span> provides short forms for some of
      the functions used by the graphical Debugger and some of
      the functions in the <span class="code">int</span> module, the Erlang interpreter.
    </p>

    <p>This module also provides facilities for displaying status
      information about interpreted processes and break points.</p>

    <p>It is possible to attach to interpreted processes by giving
      the corresponding process identity only. By default, an attachment
      window pops up. Processes at other Erlang nodes can be
      attached manually or automatically.</p>

    <p>By preference, these functions can be included in the module
      <span class="code">shell_default</span>. By default, they are.</p>
  </p></div>

  <h3>EXPORTS</h3>
    <p><a name="im-0"><span class="bold_code">im() -&gt; pid()</span></a><br></p>
<div class="REFBODY"><p>
	<p>Starts a new graphical monitor. This is the Monitor window,
	  the main window of the Debugger. All of the Debugger and
	  interpreter functionality is accessed from the Monitor window.
	  The Monitor window displays the status of all processes that 
	  have been/are executing interpreted modules.</p>
      </p></div>

    <p><a name="ii-1"><span class="bold_code">ii(AbsModules) -&gt; ok</span></a><br><a name="ii-1"><span class="bold_code">ii(AbsModule) -&gt; {module, Module} | error</span></a><br><a name="ini-1"><span class="bold_code">ini(AbsModules) -&gt; ok</span></a><br><a name="ini-1"><span class="bold_code">ini(AbsModule) -&gt; {module, Module} | error</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">AbsModules = [AbsModule]</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">AbsModule = Module | File</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code"> Module = atom()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code"> File = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Interprets the specified module(s). <span class="code">ii/1</span> interprets
	  the module(s) only at the current node, see
	  <span class="bold_code"><a href="int.html#i-1">int:i/1</a></span>. <span class="code">ini/1</span>
	  interprets the module(s) at all known nodes, see
	  <span class="bold_code"><a href="int.html#ni-1">int:ni/1</a></span>.</p>
      </p></div>

    <p><a name="iq-1"><span class="bold_code">iq(AbsModule) -&gt; ok</span></a><br><a name="inq-1"><span class="bold_code">inq(AbsModule) -&gt; ok</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">AbsModule = Module | File</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code"> Module = atom()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code"> File = string()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Stops interpreting the specified module. <span class="code">iq/1</span> stops
	  interpreting the module only at the current node. <span class="code">inq/1</span>
	  stops interpreting the module at all known nodes.</p>
      </p></div>

    <p><a name="il-0"><span class="bold_code">il() -&gt; ok</span></a><br></p>
<div class="REFBODY"><p>
	<p>Makes a printout of all interpreted modules.
	  Modules are printed together with the full path name of the 
	  corresponding source code file.</p>
      </p></div>

    <p><a name="ip-0"><span class="bold_code">ip() -&gt; ok</span></a><br></p>
<div class="REFBODY"><p>
	<p>Makes a printout of the current status of all interpreted 
	  processes.</p>
      </p></div>

    <p><a name="ic-0"><span class="bold_code">ic() -&gt; ok</span></a><br></p>
<div class="REFBODY"><p>
	<p>Clears information about processes executing interpreted code
	  byt removing all information about terminated processes.</p>
      </p></div>

    <p><a name="iaa-1"><span class="bold_code">iaa(Flags) -&gt; true</span></a><br><a name="iaa-2"><span class="bold_code">iaa(Flags, Function) -&gt; true</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Flags = [init | break | exit]</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Function = {Module,Name,Args}</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code"> Module = Name = atom()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code"> Args = [term()]</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Sets when and how to automatically attach to a debugged
	  process, see
	  <span class="bold_code"><a href="int.html#auto_attach-0">int:auto_attach/2</a></span>.
	  <span class="code">Function</span> defaults to the standard function used by
	  the Debugger.</p>
      </p></div>

    <p><a name="ist-1"><span class="bold_code">ist(Flag) -&gt; true</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Flag = all | no_tail | false</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Sets how to save call frames in the stack, see
	  <span class="bold_code"><a href="int.html#stack_trace-0">int:stack_trace/1</a></span>.
	</p>
      </p></div>

    <p><a name="ia-1"><span class="bold_code">ia(Pid) -&gt; ok | no_proc</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Pid = pid()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Attaches to the debugged process <span class="code">Pid</span>. A Debugger
	  Attach Process window is opened for the process.</p>
      </p></div>

    <p><a name="ia-3"><span class="bold_code">ia(X,Y,Z) -&gt; ok | no_proc</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">X = Y = Z = int()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Same as <span class="code">ia(Pid)</span>, where <span class="code">Pid</span> is the result of
	  calling the shell function <span class="code">pid(X,Y,Z)</span>.</p>
      </p></div>

    <p><a name="ia-2"><span class="bold_code">ia(Pid, Function) -&gt; ok | no_proc</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Pid = pid()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Function = {Module,Name}</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code"> Module = Name = atom()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Attaches to the debugged process <span class="code">Pid</span>. The interpreter
	  will call <span class="code">spawn(Module, Name, [Pid])</span> (and ignore
	  the result).</p>
      </p></div>

    <p><a name="ia-4"><span class="bold_code">ia(X,Y,Z, Function) -&gt; ok | no_proc</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">X = Y = Z = int()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Function = {Module,Name}</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code"> Module = Name = atom()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Same as <span class="code">ia(Pid, Function)</span>, where <span class="code">Pid</span> is
	  the result of calling the shell function <span class="code">pid(X,Y,Z)</span>.
	  An attached process is expected to call the unofficial
	  <span class="code">int:attached(Pid)</span> function and to be able to handle
	  messages from the interpreter, see <span class="code">dbg_ui_trace.erl</span> for
	  an example.</p>
      </p></div>

    <p><a name="ib-2"><span class="bold_code">ib(Module, Line) -&gt; ok | {error, break_exists}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Module = atom()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Line = int()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Creates a breakpoint at <span class="code">Line</span> in <span class="code">Module</span>.</p>
      </p></div>

    <p><a name="ib-3"><span class="bold_code">ib(Module, Name, Arity) -&gt; ok | {error, function_not_found}
      </span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Module = Name = atom()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Arity = int()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Creates breakpoints at the first line of every clause of 
	  the <span class="code">Module:Name/Arity</span> function.</p>
      </p></div>

    <p><a name="ir-0"><span class="bold_code">ir() -&gt; ok</span></a><br></p>
<div class="REFBODY"><p>
	<p>Deletes all breakpoints.</p>
      </p></div>

    <p><a name="ir-1"><span class="bold_code">ir(Module) -&gt; ok</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Module = atom()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Deletes all breakpoints in <span class="code">Module</span>.</p>
      </p></div>

    <p><a name="ir-2"><span class="bold_code">ir(Module, Line) -&gt; ok</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Module = atom()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Line = int()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Deletes the breakpoint located at <span class="code">Line</span> in
	  <span class="code">Module</span>.</p>
      </p></div>

    <p><a name="ir-3"><span class="bold_code">ir(Module, Name, Arity) -&gt; ok | {error, function_not_found}
      </span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Module = Name = atom()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Arity = int()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Deletes the breakpoints at the first line of every clause of 
	  the <span class="code">Module:Name/Arity</span> function.</p>
      </p></div>

    <p><a name="ibd-2"><span class="bold_code">ibd(Module, Line) -&gt; ok</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Module = atom()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Line = int()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Makes the breakpoint at <span class="code">Line</span> in <span class="code">Module</span>
	  inactive.</p>
      </p></div>

    <p><a name="ibe-2"><span class="bold_code">ibe(Module, Line) -&gt; ok</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Module = atom()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Line = int()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Makes the breakpoint at <span class="code">Line</span> in <span class="code">Module</span> active.
	</p>
      </p></div>

    <p><a name="iba-3"><span class="bold_code">iba(Module, Line, Action) -&gt; ok</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Module = atom()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Line = int()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Action = enable | disable | delete</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Sets the trigger action of the breakpoint at <span class="code">Line</span> in
	  <span class="code">Module</span> to <span class="code">Action</span>.</p>
      </p></div>

    <p><a name="ibc-3"><span class="bold_code">ibc(Module, Line, Function) -&gt; ok</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Module = atom()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Line = int()</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code">Function = {Module,Name}</span><br>
</div>
	<div class="REFTYPES">
<span class="bold_code"> Name = atom()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Sets the conditional test of the breakpoint at <span class="code">Line</span> in
	  <span class="code">Module</span> to <span class="code">Function</span>.</p>

	<p>The conditional test is performed by calling
	  <span class="code">Module:Name(Bindings)</span>, where <span class="code">Bindings</span> is
	  the current variable bindings. The function must return
	  <span class="code">true</span> (break) or <span class="code">false</span> (do not break). Use
	  <span class="code">int:get_binding(Var, Bindings)</span> to retrieve the value
	  of a variable <span class="code">Var</span>.</p>
      </p></div>

    <p><a name="ipb-0"><span class="bold_code">ipb() -&gt; ok</span></a><br></p>
<div class="REFBODY"><p>
	<p>Makes a printout of all existing breakpoints.</p>
      </p></div>

    <p><a name="ipb-1"><span class="bold_code">ipb(Module) -&gt; ok</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
	<div class="REFTYPES">
<span class="bold_code">Module = atom()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
	<p>Makes a printout of all existing breakpoints in
	  <span class="code">Module</span>.</p>
      </p></div>

    <p><a name="iv-0"><span class="bold_code">iv() -&gt; atom()</span></a><br></p>
<div class="REFBODY"><p>
	<p>Returns the current version number of the interpreter.
	  The same as the version number of the Debugger application.
	</p>
      </p></div>

    <p><a name="help-0"><span class="bold_code">help() -&gt; ok</span></a><br></p>
<div class="REFBODY"><p>
	<p>Prints help text.</p>
      </p></div>
  

  <h3><a name="id65696">Usage</a></h3>
<div class="REFBODY">
    

    <p>Refer to the Debugger User's Guide for information about
      the Debugger.</p>
  </div>

  <h3><a name="id65707">See Also</a></h3>
<div class="REFBODY">
  
    <p><span class="code">int(3)</span></p>
  </div>
</div>
<div class="footer">
<hr>
<p>Copyright © 1997-2012 Ericsson AB. All Rights Reserved.</p>
</div>
</div>
</div></body>
</html>