Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

i (3erl)

Name

i - Debugger/Interpreter Interface.

Synopsis

Please see following description for synopsis

Description

i(3)                       Erlang Module Definition                       i(3)



NAME
       i - Debugger/Interpreter Interface.

DESCRIPTION
       The i module provides short forms for some of the functions used by the
       graphical Debugger and some of the functions in module int, the  Erlang
       interpreter.

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

       It is possible to attach to interpreted processes by giving the  corre-
       sponding  process  identity  only.  By default, an attachment window is
       displayed. Processes at other Erlang nodes can be attached manually  or
       automatically.

       By preference, these functions can be included in module shell_default.
       By default, they are included in that module.

EXPORTS
       im() -> pid()

              Starts a new graphical monitor. This is the Monitor window,  the
              main  window of Debugger. All the Debugger and interpreter func-
              tionality is accessed from the Monitor window. This window  dis-
              plays  the status of all processes that have been or are execut-
              ing interpreted modules.

       ii(AbsModules) -> ok
       ii(AbsModule) -> {module, Module} | error
       ini(AbsModules) -> ok
       ini(AbsModule) -> {module, Module} | error

              Types:

                 AbsModules = [AbsModule]
                 AbsModule = Module | File
                  Module = atom()
                  File = string()

              Interprets the specified module(s).  ii/1  interprets  the  mod-
              ule(s)  only  at the current node, see int:i/1. ini/1 interprets
              the module(s) at all known nodes, see int:ni/1.

       iq(AbsModule) -> ok
       inq(AbsModule) -> ok

              Types:

                 AbsModule = Module | File
                  Module = atom()
                  File = string()

              Stops interpreting the specified module. iq/1 stops interpreting
              the  module  only  at the current node. inq/1 stops interpreting
              the module at all known nodes.

       il() -> ok

              Makes a printout of all interpreted modules. Modules are printed
              together  with  the  full  path name of the corresponding source
              code file.

       ip() -> ok

              Prints the current status of all interpreted processes.

       ic() -> ok

              Clears information about processes executing interpreted code by
              removing all information about terminated processes.

       iaa(Flags) -> true
       iaa(Flags, Function) -> true

              Types:

                 Flags = [init | break | exit]
                 Function = {Module,Name,Args}
                  Module = Name = atom()
                  Args = [term()]

              Sets when and how to attach to a debugged process automatically,
              see int:auto_attach/2. Function defaults to the  standard  func-
              tion used by Debugger.

       ist(Flag) -> true

              Types:

                 Flag = all | no_tail | false

              Sets   how   to   save   call   frames   in   the   stack,   see
              int:stack_trace/1.

       ia(Pid) -> ok | no_proc

              Types:

                 Pid = pid()

              Attaches to the debugged process Pid. An Attach  Process  window
              is opened for the process.

       ia(X,Y,Z) -> ok | no_proc

              Types:

                 X = Y = Z = int()

              Same  as  ia(Pid),  where Pid is the result of calling the shell
              function pid(X,Y,Z).

       ia(Pid, Function) -> ok | no_proc

              Types:

                 Pid = pid()
                 Function = {Module,Name}
                  Module = Name = atom()

              Attaches to the debugged  process  Pid.  The  interpreter  calls
              spawn(Module, Name, [Pid]) (and ignores the result).

       ia(X,Y,Z, Function) -> ok | no_proc

              Types:

                 X = Y = Z = int()
                 Function = {Module,Name}
                  Module = Name = atom()

              Same  as  ia(Pid,  Function), where Pid is the result of calling
              the shell function pid(X,Y,Z). An attached process  is  expected
              to call the unofficial function int:attached(Pid) and to be able
              to handle messages from the interpreter.  For  an  example,  see
              dbg_wx_trace.erl.

       ib(Module, Line) -> ok | {error, break_exists}

              Types:

                 Module = atom()
                 Line = int()

              Creates a breakpoint at Line in Module.

       ib(Module, Name, Arity) -> ok | {error, function_not_found}

              Types:

                 Module = Name = atom()
                 Arity = int()

              Creates  breakpoints  at the first line of every clause of func-
              tion Module:Name/Arity.

       ir() -> ok

              Deletes all breakpoints.

       ir(Module) -> ok

              Types:

                 Module = atom()

              Deletes all breakpoints in Module.

       ir(Module, Line) -> ok

              Types:

                 Module = atom()
                 Line = int()

              Deletes the breakpoint at Line in Module.

       ir(Module, Name, Arity) -> ok | {error, function_not_found}

              Types:

                 Module = Name = atom()
                 Arity = int()

              Deletes the breakpoints at the first line  of  every  clause  of
              function Module:Name/Arity.

       ibd(Module, Line) -> ok

              Types:

                 Module = atom()
                 Line = int()

              Makes the breakpoint at Line in Module inactive.

       ibe(Module, Line) -> ok

              Types:

                 Module = atom()
                 Line = int()

              Makes the breakpoint at Line in Module active.

       iba(Module, Line, Action) -> ok

              Types:

                 Module = atom()
                 Line = int()
                 Action = enable | disable | delete

              Sets  the  trigger action of the breakpoint at Line in Module to
              Action.

       ibc(Module, Line, Function) -> ok

              Types:

                 Module = atom()
                 Line = int()
                 Function = {Module,Name}
                  Name = atom()

              Sets the conditional test of the breakpoint at Line in Module to
              Function.

              The  conditional  test is performed by calling Module:Name(Bind-
              ings), where Bindings is  the  current  variable  bindings.  The
              function  must  return  true (break) or false (do not break). To
              retrieve the value of a variable Var,  use  int:get_binding(Var,
              Bindings).

       ipb() -> ok

              Prints all existing breakpoints.

       ipb(Module) -> ok

              Types:

                 Module = atom()

              Prints all existing breakpoints in Module.

       iv() -> atom()

              Returns  the  current version number of the interpreter. Same as
              the version number of the Debugger application.

       help() -> ok

              Prints help text.

SEE ALSO
       int(3)



Ericsson AB                      debugger 5.2                             i(3)