370 lines
9.0 KiB
Plaintext
370 lines
9.0 KiB
Plaintext
'\"
|
|
'\" Generated from file 'idebug\&.n\&.man' by tcllib/doctools with format 'nroff'
|
|
'\" Copyright (c) Jeffrey Hobbs <jeff at hobbs\&.org>
|
|
'\"
|
|
.TH "idebug" n 2\&.5 idebug\&.n "TkCon"
|
|
.\" The -*- nroff -*- definitions below are for supplemental macros used
|
|
.\" in Tcl/Tk manual entries.
|
|
.\"
|
|
.\" .AP type name in/out ?indent?
|
|
.\" Start paragraph describing an argument to a library procedure.
|
|
.\" type is type of argument (int, etc.), in/out is either "in", "out",
|
|
.\" or "in/out" to describe whether procedure reads or modifies arg,
|
|
.\" and indent is equivalent to second arg of .IP (shouldn't ever be
|
|
.\" needed; use .AS below instead)
|
|
.\"
|
|
.\" .AS ?type? ?name?
|
|
.\" Give maximum sizes of arguments for setting tab stops. Type and
|
|
.\" name are examples of largest possible arguments that will be passed
|
|
.\" to .AP later. If args are omitted, default tab stops are used.
|
|
.\"
|
|
.\" .BS
|
|
.\" Start box enclosure. From here until next .BE, everything will be
|
|
.\" enclosed in one large box.
|
|
.\"
|
|
.\" .BE
|
|
.\" End of box enclosure.
|
|
.\"
|
|
.\" .CS
|
|
.\" Begin code excerpt.
|
|
.\"
|
|
.\" .CE
|
|
.\" End code excerpt.
|
|
.\"
|
|
.\" .VS ?version? ?br?
|
|
.\" Begin vertical sidebar, for use in marking newly-changed parts
|
|
.\" of man pages. The first argument is ignored and used for recording
|
|
.\" the version when the .VS was added, so that the sidebars can be
|
|
.\" found and removed when they reach a certain age. If another argument
|
|
.\" is present, then a line break is forced before starting the sidebar.
|
|
.\"
|
|
.\" .VE
|
|
.\" End of vertical sidebar.
|
|
.\"
|
|
.\" .DS
|
|
.\" Begin an indented unfilled display.
|
|
.\"
|
|
.\" .DE
|
|
.\" End of indented unfilled display.
|
|
.\"
|
|
.\" .SO ?manpage?
|
|
.\" Start of list of standard options for a Tk widget. The manpage
|
|
.\" argument defines where to look up the standard options; if
|
|
.\" omitted, defaults to "options". The options follow on successive
|
|
.\" lines, in three columns separated by tabs.
|
|
.\"
|
|
.\" .SE
|
|
.\" End of list of standard options for a Tk widget.
|
|
.\"
|
|
.\" .OP cmdName dbName dbClass
|
|
.\" Start of description of a specific option. cmdName gives the
|
|
.\" option's name as specified in the class command, dbName gives
|
|
.\" the option's name in the option database, and dbClass gives
|
|
.\" the option's class in the option database.
|
|
.\"
|
|
.\" .UL arg1 arg2
|
|
.\" Print arg1 underlined, then print arg2 normally.
|
|
.\"
|
|
.\" .QW arg1 ?arg2?
|
|
.\" Print arg1 in quotes, then arg2 normally (for trailing punctuation).
|
|
.\"
|
|
.\" .PQ arg1 ?arg2?
|
|
.\" Print an open parenthesis, arg1 in quotes, then arg2 normally
|
|
.\" (for trailing punctuation) and then a closing parenthesis.
|
|
.\"
|
|
.\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
|
|
.if t .wh -1.3i ^B
|
|
.nr ^l \n(.l
|
|
.ad b
|
|
.\" # Start an argument description
|
|
.de AP
|
|
.ie !"\\$4"" .TP \\$4
|
|
.el \{\
|
|
. ie !"\\$2"" .TP \\n()Cu
|
|
. el .TP 15
|
|
.\}
|
|
.ta \\n()Au \\n()Bu
|
|
.ie !"\\$3"" \{\
|
|
\&\\$1 \\fI\\$2\\fP (\\$3)
|
|
.\".b
|
|
.\}
|
|
.el \{\
|
|
.br
|
|
.ie !"\\$2"" \{\
|
|
\&\\$1 \\fI\\$2\\fP
|
|
.\}
|
|
.el \{\
|
|
\&\\fI\\$1\\fP
|
|
.\}
|
|
.\}
|
|
..
|
|
.\" # define tabbing values for .AP
|
|
.de AS
|
|
.nr )A 10n
|
|
.if !"\\$1"" .nr )A \\w'\\$1'u+3n
|
|
.nr )B \\n()Au+15n
|
|
.\"
|
|
.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
|
|
.nr )C \\n()Bu+\\w'(in/out)'u+2n
|
|
..
|
|
.AS Tcl_Interp Tcl_CreateInterp in/out
|
|
.\" # BS - start boxed text
|
|
.\" # ^y = starting y location
|
|
.\" # ^b = 1
|
|
.de BS
|
|
.br
|
|
.mk ^y
|
|
.nr ^b 1u
|
|
.if n .nf
|
|
.if n .ti 0
|
|
.if n \l'\\n(.lu\(ul'
|
|
.if n .fi
|
|
..
|
|
.\" # BE - end boxed text (draw box now)
|
|
.de BE
|
|
.nf
|
|
.ti 0
|
|
.mk ^t
|
|
.ie n \l'\\n(^lu\(ul'
|
|
.el \{\
|
|
.\" Draw four-sided box normally, but don't draw top of
|
|
.\" box if the box started on an earlier page.
|
|
.ie !\\n(^b-1 \{\
|
|
\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
|
|
.\}
|
|
.el \}\
|
|
\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
|
|
.\}
|
|
.\}
|
|
.fi
|
|
.br
|
|
.nr ^b 0
|
|
..
|
|
.\" # VS - start vertical sidebar
|
|
.\" # ^Y = starting y location
|
|
.\" # ^v = 1 (for troff; for nroff this doesn't matter)
|
|
.de VS
|
|
.if !"\\$2"" .br
|
|
.mk ^Y
|
|
.ie n 'mc \s12\(br\s0
|
|
.el .nr ^v 1u
|
|
..
|
|
.\" # VE - end of vertical sidebar
|
|
.de VE
|
|
.ie n 'mc
|
|
.el \{\
|
|
.ev 2
|
|
.nf
|
|
.ti 0
|
|
.mk ^t
|
|
\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
|
|
.sp -1
|
|
.fi
|
|
.ev
|
|
.\}
|
|
.nr ^v 0
|
|
..
|
|
.\" # Special macro to handle page bottom: finish off current
|
|
.\" # box/sidebar if in box/sidebar mode, then invoked standard
|
|
.\" # page bottom macro.
|
|
.de ^B
|
|
.ev 2
|
|
'ti 0
|
|
'nf
|
|
.mk ^t
|
|
.if \\n(^b \{\
|
|
.\" Draw three-sided box if this is the box's first page,
|
|
.\" draw two sides but no top otherwise.
|
|
.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
|
|
.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
|
|
.\}
|
|
.if \\n(^v \{\
|
|
.nr ^x \\n(^tu+1v-\\n(^Yu
|
|
\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
|
|
.\}
|
|
.bp
|
|
'fi
|
|
.ev
|
|
.if \\n(^b \{\
|
|
.mk ^y
|
|
.nr ^b 2
|
|
.\}
|
|
.if \\n(^v \{\
|
|
.mk ^Y
|
|
.\}
|
|
..
|
|
.\" # DS - begin display
|
|
.de DS
|
|
.RS
|
|
.nf
|
|
.sp
|
|
..
|
|
.\" # DE - end display
|
|
.de DE
|
|
.fi
|
|
.RE
|
|
.sp
|
|
..
|
|
.\" # SO - start of list of standard options
|
|
.de SO
|
|
'ie '\\$1'' .ds So \\fBoptions\\fR
|
|
'el .ds So \\fB\\$1\\fR
|
|
.SH "STANDARD OPTIONS"
|
|
.LP
|
|
.nf
|
|
.ta 5.5c 11c
|
|
.ft B
|
|
..
|
|
.\" # SE - end of list of standard options
|
|
.de SE
|
|
.fi
|
|
.ft R
|
|
.LP
|
|
See the \\*(So manual entry for details on the standard options.
|
|
..
|
|
.\" # OP - start of full description for a single option
|
|
.de OP
|
|
.LP
|
|
.nf
|
|
.ta 4c
|
|
Command-Line Name: \\fB\\$1\\fR
|
|
Database Name: \\fB\\$2\\fR
|
|
Database Class: \\fB\\$3\\fR
|
|
.fi
|
|
.IP
|
|
..
|
|
.\" # CS - begin code excerpt
|
|
.de CS
|
|
.RS
|
|
.nf
|
|
.ta .25i .5i .75i 1i
|
|
..
|
|
.\" # CE - end code excerpt
|
|
.de CE
|
|
.fi
|
|
.RE
|
|
..
|
|
.\" # UL - underline word
|
|
.de UL
|
|
\\$1\l'|0\(ul'\\$2
|
|
..
|
|
.\" # QW - apply quotation marks to word
|
|
.de QW
|
|
.ie '\\*(lq'"' ``\\$1''\\$2
|
|
.\"" fix emacs highlighting
|
|
.el \\*(lq\\$1\\*(rq\\$2
|
|
..
|
|
.\" # PQ - apply parens and quotation marks to word
|
|
.de PQ
|
|
.ie '\\*(lq'"' (``\\$1''\\$2)\\$3
|
|
.\"" fix emacs highlighting
|
|
.el (\\*(lq\\$1\\*(rq\\$2)\\$3
|
|
..
|
|
.\" # QR - quoted range
|
|
.de QR
|
|
.ie '\\*(lq'"' ``\\$1''\\-``\\$2''\\$3
|
|
.\"" fix emacs highlighting
|
|
.el \\*(lq\\$1\\*(rq\\-\\*(lq\\$2\\*(rq\\$3
|
|
..
|
|
.\" # MT - "empty" string
|
|
.de MT
|
|
.QW ""
|
|
..
|
|
.BS
|
|
.SH NAME
|
|
idebug \- Interactive debugging environment in TkCon
|
|
.SH SYNOPSIS
|
|
\fBidebug\fR \fIbody\fR ?\fIlevel\fR?
|
|
.sp
|
|
\fBidebug\fR \fIbreak\fR ?\fIid\fR?
|
|
.sp
|
|
\fBidebug\fR {\fI\fIecho\fR ?\fIid\fR?\fR} ?\fIargs\fR?
|
|
.sp
|
|
\fBidebug\fR \fIid\fR ?\fIid\fR?
|
|
.sp
|
|
\fBidebug\fR \fIoff\fR
|
|
.sp
|
|
\fBidebug\fR \fIon\fR ?\fIid\fR?
|
|
.sp
|
|
\fBidebug\fR {\fI\fIputs\fR ?\fIid\fR?\fR} \fIargs\fR
|
|
.sp
|
|
\fBidebug\fR \fIshow\fR \fItype\fR ?\fIlevel\fR? ?\fIVERBOSE\fR?
|
|
.sp
|
|
\fBidebug\fR \fItrace\fR ?\fIlevel\fR?
|
|
.sp
|
|
.BE
|
|
.SH DESCRIPTION
|
|
.PP
|
|
The idebug command provides an interactive debugging
|
|
environment for procedures via TkCon\&.
|
|
You can place idebug break commands into your procedure
|
|
to create breakpoints\&.
|
|
It will pop up the TkCon console and put you into a
|
|
"debugging" mode\&.
|
|
The \fIbody\fR, \fIshow\fR & \fItrace\fR methods are
|
|
intended for internal use only\&.
|
|
This procedure works for minimal debugging sessions\&.
|
|
Comments are encouraged\&.
|
|
.TP
|
|
\fBidebug\fR \fIbody\fR ?\fIlevel\fR?
|
|
Prints out the body of the command (if it is a procedure)
|
|
at the specified level\&.
|
|
level defaults to the current level\&.
|
|
.TP
|
|
\fBidebug\fR \fIbreak\fR ?\fIid\fR?
|
|
Creates a breakpoint within a procedure\&.
|
|
This will only trigger if idebug is on and the \fIid\fR matches the pattern\&.
|
|
If so, TkCon will pop to the front with the prompt changed
|
|
to an idebug prompt\&.
|
|
You are given the basic ability to observe the call stack
|
|
an query/set variables or execute Tcl commands at any level\&.
|
|
A separate history is maintained in debugging mode\&.
|
|
To see the special commands available at the debug prompt,
|
|
type ? and hit return\&.
|
|
.TP
|
|
\fBidebug\fR {\fI\fIecho\fR ?\fIid\fR?\fR} ?\fIargs\fR?
|
|
Behaves just like \fBecho\fR, but only triggers when idebug is on\&.
|
|
You can specify an optional \fIid\fR to further restrict triggering\&.
|
|
If no id is specified, it defaults to the name of the command
|
|
in which the call was made\&.
|
|
.TP
|
|
\fBidebug\fR \fIid\fR ?\fIid\fR?
|
|
Query or set the idebug id\&.
|
|
This id is used by other idebug methods to determine if
|
|
they should trigger or not\&.
|
|
The idebug id can be a glob pattern and defaults to *\&.
|
|
.TP
|
|
\fBidebug\fR \fIoff\fR
|
|
Turns idebug off\&.
|
|
.TP
|
|
\fBidebug\fR \fIon\fR ?\fIid\fR?
|
|
Turns idebug on\&.
|
|
If \fIid\fR is specified, it sets the id to it\&.
|
|
.TP
|
|
\fBidebug\fR {\fI\fIputs\fR ?\fIid\fR?\fR} \fIargs\fR
|
|
Behaves just like \fBputs\fR, but only triggers when idebug is on\&.
|
|
You can specify an optional \fIid\fR to further restrict triggering\&.
|
|
If no id is specified, it defaults to the name of the
|
|
command in which the call was made\&.
|
|
.TP
|
|
\fBidebug\fR \fIshow\fR \fItype\fR ?\fIlevel\fR? ?\fIVERBOSE\fR?
|
|
type must be one of vars, locals or globals\&.
|
|
This method will output the variables/locals/globals present
|
|
in a particular level\&.
|
|
If \fIVERBOSE\fR is added, then it actually \fBdump\fRs out the values as well\&.
|
|
level defaults to the level in which this method was called\&.
|
|
.TP
|
|
\fBidebug\fR \fItrace\fR ?\fIlevel\fR?
|
|
Prints out the stack trace from the specified level up to the top level\&.
|
|
level defaults to the current level\&.
|
|
.PP
|
|
.SH "SEE ALSO"
|
|
\fBdump\fR(n), \fBobserve\fR(n), \fBtkcon\fR(1), \fBtkcon\fR(n), \fBtkconrc\fR(5)
|
|
.SH KEYWORDS
|
|
Tk, console, debug
|
|
.SH COPYRIGHT
|
|
.nf
|
|
Copyright (c) Jeffrey Hobbs <jeff at hobbs\&.org>
|
|
|
|
.fi
|