deb man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

DEB(1)									DEB(1)

NAME
       deb - graphical Limbo debugger

SYNOPSIS
       wm/deb [-f file] [-p pid]

DESCRIPTION
       Wm/deb displays two windows, the main debugging window and a stack win‐
       dow for	browsing  the  data  values  of	 the  thread  currently	 being
       debugged.

       Debugging is performed using the facilities of the prog device bound to
       the local /prog directory (see prog(3)).	 Debugging of code running  on
       a remote machine can be performed by binding the remote /prog directory
       in place of the local one. (See bind(1)).

       In order to display source code and set breakpoints accurately,	an  up
       to  date	 symbol	 file  (.sbl)  must  be available as well as the limbo
       source file (.b).

   Main window
       The main window is comprised of a menu bar, an icon bar and three  text
       panels.	 One  panel, labelled Threads, lists the process IDs (PIDs) of
       the threads being debugged.  Another panel, labelled Break,  lists  the
       set  of breakpoints, each given a unique number.	 The third and largest
       panel displays the source code of the thread being debugged.

       Breakpoint positions are shown by red text in the source code  display.
       Clicking	 on  a	breakpoint  number  in	the Break panel results in the
       source code panel being scrolled or updated  to	show  the  breakpoint.
       Breakpoints  are toggled by clicking on the statement or sub-expression
       in the source code window and clicking the  breakpoint  button  on  the
       icon bar.  A breakpoint can be hit by any of the threads being debugged
       - breakpoints are set on source code, not on individual threads.

       Clicking on a PID in the Threads panel results in the source code panel
       being  scrolled or updated to highlight where in the code the thread is
       blocked, broken or halted on a breakpoint.

       A running thread can be halted by clicking the stop button on the  icon
       bar.  A thread will also halt when it hits a breakpoint.	 Once a thread
       is halted (not blocked or broken) its execution can be advanced a  step
       at  a  time by means of the buttons on the icon bar.  The thread can be
       stepped one operation at a time or a statement  at  a  time.   Normally
       when  single  stepping, function calls are stepped into.	 Stepping com‐
       mands allow for stepping over function calls, whereby the  function  is
       still  called  but  its	whole  execution  is treated as a single step.
       Stepping out of a function is also provided, whereby execution  contin‐
       ues  unabated  until  returning	from  the  function.  Execution of the
       halted thread can be continued, running until it terminates, breaks  or
       hits another breakpoint.

       Any  of	the  threads being debugged can be killed or detached from the
       debugger using buttons on the icon  bar.	  Detaching  a	halted	thread
       resumes its execution.

       The  main  window  provides  a  set  of menus for viewing source files,
       attaching to other threads, setting debugger options and searching  for
       text in the source code window.

   Stack Window
       The  stack  window  is  used  to inspect the values of local and global
       variables and function arguments.  Items are displayed in a  hierarchi‐
       cal  manner.  Any item that contains other items, such as a variable of
       an ADT type, can be expanded to show the values of the sub-items.   The
       sub-items are displayed by clicking on the expand button on the left of
       the containing item, they can be hidden by pressing the	button	again.
       The  sub-item list is displayed indented from its container as a visual
       cue to their association.

       The stack window shows the full stack trace of the current thread.  The
       stack  trace  is	 displayed as a list of frames, the current frame dis‐
       played at the top of the window.	 Each frame is given by	 the  function
       name and source location of the code being executed in the frame.  Each
       frame has the following sub-items:

       locals	 Local variables declared in the function of the frame.

       args	 The arguments passed to the frame function.

       module	 The module global variables in the implementation  module  of
		 the frame function.

       Clicking	 on the name of a variable or function argument highlights the
       declaration of that name in the source panel of the main debug  window.
       Clicking	 on  the function name of a stack frame causes the main window
       source panel to display the current statement of the frame.

       The debugger has a stack button which simply brings that window to  the
       front of the display.

       The  options  menu  has a layout configuration which allows the user to
       have a horizontal scroll bar or to wrap long lines (the	default);  and
       an  option  to  strip  carriage return characters that precede newlines
       (for the benefit of those using Windows' editors).  The	state  of  the
       options	is saved in the file /usr/username/lib/deb if that file can be
       created. The debugger attempts to read this file on startup to set  the
       user's preferred options.

OPTIONS
       -f file	 Specifies  a  source  file (.b) to load.  The associated exe‐
		 cutable file (.dis) is not launched until the	continue  (run
		 to  breakpoint)  button is pressed.  This option takes prece‐
		 dence over the -p option.

       -p pid	 Attach to the already running thread given by pid.

PLUMBING
       wm/deb plumbs the address of text selected using button 3 in the source
       display panel, as text of the form

	      file-name:line-number

FILES
       /prog/n/*
       /usr/username/lib/deb

SOURCE
       /appl/wm/deb.b
       /appl/wm/debdata.b
       /appl/wm/debsrc.b

SEE ALSO
       limbo(1), prog(3)

BUGS
       Displaying  large  arrays in the Stack window can use excessive amounts
       of memory.

       When setting breakpoints there is no visual cue for the selected state‐
       ment or operation until the breakpoint is actually set.

       It is only possible to debug modules executed by the interpreter.  Code
       that has been JITed, the compilation  execution	method,	 yields	 stack
       information  that  does	not  correspond	 to  information in the symbol
       (.sbl) file.

									DEB(1)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net