.TH STACK 1.SH NAMEstack \- examine call stack.SH SYNOPSIS.B "bind '#p' /prog".br.B stack[.B -v][.B -p.I dispath.I sblpath]....I pid.SH DESCRIPTION.I Stackwrites to the standard output a stack trace for process.IR pid ,bydecoding the stack traceback data contained in the file.BI /prog/ pid /stack .The.B -voption causes.I stackto print values of arguments and variables.The output is most useful when the Limbo programwas compiled with the.B -goption to produce a.B .sblsymbol file..PP.I Stackhas a built-in list of associations between.B disdirectories and their associated source directories(e.g. it can automatically map from.B /dis/ls.disto.BR /appl/cmd/ls.sbl ).Giving the.B -poption adds a new association to the head of this list:if a module path prefix matches.IR dispath ,.I stackwill search for a symbol file in.IR sblpath .If the environment variable.B $sblpathis set, pairs of items from it are added to theassociation list, as given as.B -poptions.The.B -poptions take precedence over.BR $sblpath ..SH EXAMPLERun.I stackon process with ID 1:.IP.EX$ stack 1unknown fn() Module $Sys PC 742103waitfor() shnew.b:105.7, 38runpipeline() shnew.b:483.2, 14runit() shnew.b:552.3, 29init() shnew.b:83.3, 28.EE.PPThe process is executing in the.B Sysmodule, a call to.B sys->readthat originated at line 105 (characters 7 to 38) of the.B waitforfunction in.BR shnew.b ..PPOnce again, with the.B -voption to reveal more:.IP.EX$ stack -v 1unknown fn() Module $Sys PC 742103waitfor(pid=18) shnew.b:105.7, 38 status=[0] "" buf=[64] @b419a4 n=-1 who=-1runpipeline(ctx=nil, pipeline=@b41454) shnew.b:483.2, 14 pid=18runit(ctx=nil, pipes=nil) shnew.b:552.3, 29 pipeline=@b41454init(ctxt=nil, argv=nil) shnew.b:83.3, 28 buf=[1024] @b40f04 n=4 arg=@b41634 prompt=[21] "$ "$.EE.SH FILES.BI /prog/ pid /stack.br.BI /prog/ pid /status.SH SOURCE.B /appl/cmd/stack.b.SH "SEE ALSO".IR deb (1),.IR ps (1),.IR prog (3),.IR debug (2)
.TH STACK 1
.SH NAME
stack \- examine call stack
.SH SYNOPSIS
.B "bind '#p' /prog"
.br
.B stack
[
.B -v
]
[
.B -p
.I dispath
.I sblpath
]...
.I pid
.SH DESCRIPTION
.I Stack
writes to the standard output a stack trace for process
.IR pid ,
by
decoding the stack traceback data contained in the file
.BI /prog/ pid /stack .
The
.B -v
option causes
.I stack
to print values of arguments and variables.
The output is most useful when the Limbo program
was compiled with the
.B -g
option to produce a
.B .sbl
symbol file.
.PP
.I Stack
has a built-in list of associations between
.B dis
directories and their associated source directories
(e.g. it can automatically map from
.B /dis/ls.dis
to
.BR /appl/cmd/ls.sbl ).
Giving the
.B -p
option adds a new association to the head of this list:
if a module path prefix matches
.IR dispath ,
.I stack
will search for a symbol file in
.IR sblpath .
If the environment variable
.B $sblpath
is set, pairs of items from it are added to the
association list, as given as
.B -p
options.
The
.B -p
options take precedence over
.BR $sblpath .
.SH EXAMPLE
Run
.I stack
on process with ID 1:
.IP
.EX
$ 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
.EE
.PP
The process is executing in the
.B Sys
module, a call to
.B sys->read
that originated at line 105 (characters 7 to 38) of the
.B waitfor
function in
.BR shnew.b .
.PP
Once again, with the
.B -v
option to reveal more:
.IP
.EX
$ 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] "$ "
$
.EE
.SH FILES
.BI /prog/ pid /stack
.br
.BI /prog/ pid /status
.SH SOURCE
.B /appl/cmd/stack.b
.SH "SEE ALSO"
.IR deb (1),
.IR ps (1),
.IR prog (3),
.IR debug (2)