stack man page on Inferno

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

STACK(1)							      STACK(1)

NAME
       stack, stackv - examine call stack

SYNOPSIS
       bind '#p' /prog
       stack [ -v ] [ -p dispath sblpath ]...  pid
       stackv [ -Tlm ] [ -r maxdepth ] [ pid[.sym] ...] ...

DESCRIPTION
       Stack  writes  to the standard output a stack trace for process pid, by
       decoding	  the	stack	traceback   data   contained   in   the	  file
       /prog/pid/stack.	  The  -v option causes stack to print values of argu‐
       ments and variables.  The output is most useful when the Limbo  program
       was compiled with the -g option to produce a .sbl symbol file.

       Stack  has  a built-in list of associations between dis directories and
       their associated source directories (e.g. it can automatically map from
       /dis/ls.dis  to	/appl/cmd/ls.sbl).   Giving  the  -p option adds a new
       association to the head of this list: if a module path  prefix  matches
       dispath,	 stack will search for a symbol file in sblpath.  If the envi‐
       ronment variable $sblpath is set, pairs of items from it are  added  to
       the  association	 list,	as  given  as -p options.  The -p options take
       precedence over $sblpath.

       Stackv recursively traverses the symbols it finds, printing  values  as
       it  goes.  Repeated identical structure is not shown - only the pointer
       value is printed, followed by (qv).  Each  argument  gives  a  starting
       point  for the traversal, rooted by a process id, pid.  If an unadorned
       process id is given, all values in all stack frames in the process will
       be  printed;  adding  names specifies the starting point. For instance,
       123.init.ctxt.display might specify the display field inside  the  ctxt
       adt  inside  the	 init  function inside the process 123.	 Stackv under‐
       stands the following options:

       -l	 Show source line information with each item.

       -m	 Show module variables accessible from each stack frame.

       -T	 Do not show the Limbo types of value encountered.

       -r maxdepth
		 Restrict the maximum traversal depth to maxdepth levels.

EXAMPLE
       Run stack on process with ID 1:

	      $ stack 1
	      unknown fn() Module $Sys PC 742103
	      waitfor() shnew.b:105.7, 38
	      runpipeline() shnew.b:483.2, 14
	      runit() shnew.b:552.3, 29
	      init() shnew.b:83.3, 28

       The process is executing in the Sys module, a call  to  sys->read  that
       originated  at line 105 (characters 7 to 38) of the waitfor function in
       shnew.b.

       Once again, with the -v option to reveal more:

	      $ stack -v 1
	      unknown fn() Module $Sys PC 742103
	      waitfor(pid=18) shnew.b:105.7, 38
		      status=[0] ""
		      buf=[64] @b419a4
		      n=-1
		      who=-1
	      runpipeline(ctx=nil, pipeline=@b41454) shnew.b:483.2, 14
		      pid=18
	      runit(ctx=nil, pipes=nil) shnew.b:552.3, 29
		      pipeline=@b41454
	      init(ctxt=nil, argv=nil) shnew.b:83.3, 28
		      buf=[1024] @b40f04
		      n=4
		      arg=@b41634
		      prompt=[21] "$ "
	      $

FILES
       /prog/pid/stack
       /prog/pid/status

SOURCE
       /appl/cmd/stack.b
       /appl/cmd/stackv.b

SEE ALSO
       deb(1), ps(1), prog(3), debug(2)

								      STACK(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