From 84adefa331c4159d432d22840663c38f155cd4c1 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 20 Nov 2009 14:54:40 +0000 Subject: The R13B03 release. --- lib/debugger/doc/src/i.xml | 407 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 407 insertions(+) create mode 100644 lib/debugger/doc/src/i.xml (limited to 'lib/debugger/doc/src/i.xml') diff --git a/lib/debugger/doc/src/i.xml b/lib/debugger/doc/src/i.xml new file mode 100644 index 0000000000..9560b43665 --- /dev/null +++ b/lib/debugger/doc/src/i.xml @@ -0,0 +1,407 @@ + + + + +
+ + 19982009 + Ericsson AB. All Rights Reserved. + + + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + + + i + + + + +
+ i + Debugger/Interpreter Interface + +

The module i provides short forms for some of + the functions used by the graphical Debugger and some of + the functions in the int module, 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 corresponding process identity only. By default, an attachment + window pops up. Processes at other Erlang nodes can be + attached manually or automatically.

+ +

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

+
+ + + + im() -> pid() + Start a graphical monitor + +

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.

+
+
+ + + ii(AbsModules) -> ok + ii(AbsModule) -> {module, Module} | error + ini(AbsModules) -> ok + ini(AbsModule) -> {module, Module} | error + Interpret a module + + AbsModules = [AbsModule] + AbsModule = Module | File +  Module = atom() +  File = string() + + +

Interprets the specified module(s). ii/1 interprets + the module(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 + Stop interpreting a module + + 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 + Make a printout of all interpreted modules + +

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

+
+
+ + + ip() -> ok + Make a printout of the current status of all interpreted + processes + +

Makes a printout of the current status of all interpreted + processes.

+
+
+ + + ic() -> ok + Clear information about processes executing interpreted + code + +

Clears information about processes executing interpreted code + byt removing all information about terminated processes.

+
+
+ + + iaa(Flags) -> true + iaa(Flags, Function) -> true + Set when and how to attach to a process + + Flags = [init | break | exit] + Function = {Module,Name,Args} +  Module = Name = atom() +  Args = [term()] + + +

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

+
+
+ + + ist(Flag) -> true + Set how to save call frames + + Flag = all | no_tail | false + + +

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

+
+
+ + + ia(Pid) -> ok | no_proc + Attach to a process + + Pid = pid() + + +

Attaches to the debugged process Pid. A Debugger + Attach Process window is opened for the process.

+
+
+ + + ia(X,Y,Z) -> ok | no_proc + Attach to a process + + 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 + Attach to a process + + Pid = pid() + Function = {Module,Name} +  Module = Name = atom() + + +

Attaches to the debugged process Pid. The interpreter + will call spawn(Module, Name, [Pid]) (and ignore + the result).

+
+
+ + + ia(X,Y,Z, Function) -> ok | no_proc + Attach to a process + + 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 + int:attached(Pid) function and to be able to handle + messages from the interpreter, see dbg_ui_trace.erl for + an example.

+
+
+ + + ib(Module, Line) -> ok | {error, break_exists} + Create a breakpoint + + Module = atom() + Line = int() + + +

Creates a breakpoint at Line in Module.

+
+
+ + + ib(Module, Name, Arity) -> ok | {error, function_not_found} + + Create breakpoints in the specified function + + Module = Name = atom() + Arity = int() + + +

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

+
+
+ + + ir() -> ok + Delete all breakpoints + +

Deletes all breakpoints.

+
+
+ + + ir(Module) -> ok + Delete all breakpoints in a module + + Module = atom() + + +

Deletes all breakpoints in Module.

+
+
+ + + ir(Module, Line) -> ok + Delete a breakpoint + + Module = atom() + Line = int() + + +

Deletes the breakpoint located at Line in + Module.

+
+
+ + + ir(Module, Name, Arity) -> ok | {error, function_not_found} + + Delete breakpoints from the specified function + + + Module = Name = atom() + Arity = int() + + +

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

+
+
+ + + ibd(Module, Line) -> ok + Make a breakpoint inactive + + Module = atom() + Line = int() + + +

Makes the breakpoint at Line in Module + inactive.

+
+
+ + + ibe(Module, Line) -> ok + Make a breakpoint active + + Module = atom() + Line = int() + + +

Makes the breakpoint at Line in Module active. +

+
+
+ + + iba(Module, Line, Action) -> ok + Set the trigger action of a breakpoint + + 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 + Set the conditional test of a breakpoint + + 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(Bindings), where Bindings is + the current variable bindings. The function must return + true (break) or false (do not break). Use + int:get_binding(Var, Bindings) to retrieve the value + of a variable Var.

+
+
+ + + ipb() -> ok + Make a printout of all existing breakpoints + +

Makes a printout of all existing breakpoints.

+
+
+ + + ipb(Module) -> ok + Make a printout of all breakpoints in a module + + + Module = atom() + + +

Makes a printout of all existing breakpoints in + Module.

+
+
+ + + iv() -> atom() + Current version number of the interpreter + +

Returns the current version number of the interpreter. + The same as the version number of the Debugger application. +

+
+
+ + + help() -> ok + Print help text + +

Prints help text.

+
+
+
+ +
+ Usage + +

Refer to the Debugger User's Guide for information about + the Debugger.

+
+ +
+ See Also +

int(3)

+
+
+ + -- cgit v1.2.3