diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2019-01-08 20:15:47 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2019-01-08 20:15:47 (GMT) |
commit | c705f12abcb5c2beb016c7dabf82360ab4f75c53 (patch) | |
tree | 8ad2862e7b2abb8c86bedbb318f1dec469423807 /docs/idebug.html | |
download | blt-c705f12abcb5c2beb016c7dabf82360ab4f75c53.zip blt-c705f12abcb5c2beb016c7dabf82360ab4f75c53.tar.gz blt-c705f12abcb5c2beb016c7dabf82360ab4f75c53.tar.bz2 |
Squashed 'tkcon/' content from commit 5c41f955
git-subtree-dir: tkcon
git-subtree-split: 5c41f9550eeafa8fbd6e8f4a60c8e95267b9c5e4
Diffstat (limited to 'docs/idebug.html')
-rwxr-xr-x | docs/idebug.html | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/docs/idebug.html b/docs/idebug.html new file mode 100755 index 0000000..8a98ec1 --- /dev/null +++ b/docs/idebug.html @@ -0,0 +1,125 @@ +<HTML> +<HEAD> +<TITLE>tkcon: idebug procedure</TITLE> +<LINK REL="STYLESHEET" TYPE="text/css" HREF="./style.css"> +</HEAD> + +<BODY BGCOLOR=#FFFFFF> + +<TABLE WIDTH=100% BORDER=0 CELLSPACING=2 CELLPADDING=0 BGCOLOR=#000000><TR><TD> +<!-- start header info --> +<TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=#FFFFFF> +<TR> +<TH><FONT SIZE=+3>tkcon: <CODE>idebug</CODE> procedure</FONT></TH> +<TD align=right> +<A href="http://tkcon.sourceforge.net/"> +<IMG src="http://sourceforge.net/sflogo.php?group_id=11462&type=1" width="88" +height="31" border="0" alt="SourceForge Logo"></A> +</TD> +</TR> +</TABLE> +<!-- end header info --> + +</TD></TR><TR><TD> +<!-- start main navigation table --> +<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR=#CCCCCC width=100%> +<TR> +<TH CLASS="hi"><A HREF="index.html" CLASS="hi">Documentation</A></TH> +<TH><A HREF="purpose.html">Purpose & Features</A></TH> +<TH><A HREF="limits.html">Limitations</A></TH> +<TH><A HREF="todo.html">To Do</A></TH> +<TH><A HREF="license.terms">License</A></TH> +</TR><TR> +<TH COLSPAN=2><A HREF="plugin.html">Online Demo</A> +(requires <A HREF="http://tcl.activestate.com/software/plugin/">Tk plugin</A>)</TH> +<TH COLSPAN=3><A HREF="nontcl.html">Using TkCon with other Tk Languages</A></TH> +</TR> +</TABLE> +<!-- end main navigation table --> +</TD></TR><TR><TD> +<!-- start secondary navigation table --> +<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=2 BGCOLOR=#BBBBBB width=100%> +<TR> +<TH><A HREF="start.html">Getting Started</A></TH> +<TH><A HREF="bindings.html">Special Bindings</A></TH> +<TH><A HREF="procs.html">Procedures</A></TH> +<TH><A HREF="demopic.png">Screenshot</A></TH> +</TR> +<TR> +<TH><A HREF="dump.html"><CODE>dump</CODE></A></TH> +<TH><A HREF="tkcon.html"><CODE>tkcon</CODE></A></TH> +<TH CLASS="hi2"><A HREF="idebug.html" CLASS="hi2"><CODE>idebug</CODE></A></TH> +<TH><A HREF="observe.html"><CODE>observe</CODE></A></TH> +</TR> +</TABLE> +<!-- end secondary navigation table --> +</TD></TR><TR><TD BGCOLOR=#FFFFFF> +<DIV CLASS="indent"> + <P> +The <B>idebug</B> command provides an interactive debugging environment for +procedures via TkCon. You can place <code>idebug break</code> commands +into your procedure to create breakpoints. It will pop up the TkCon +console and put you into a "debugging" mode. The <code>body, show & +trace</code> methods are intended for internal use only. + <P> + +This procedure works for minimal debugging sessions. Comments are +encouraged. + +<DL> + +<DT> <CODE>idebug <b>body</b></CODE> <I>?level?</I> +<DD> Prints out the body of the command (if it is a procedure) at the +specified level. <i>level</i> defaults to the current level. + +<DT> <CODE>idebug <b>break</b></CODE> <I>?id?</I> +<DD> Creates a breakpoint within a procedure. This will only trigger if +idebug is on and the id 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 <B>?</B> +and hit return. + +<DT> <CODE>idebug {echo ?id?}</CODE> <I>?args?</I> +<DD> Behaves just like <code>echo</code>, but only triggers when idebug is +on. You can specify an optional id to further restrict triggering. If no +id is specified, it defaults to the name of the command in which the call +was made. + +<DT> <CODE>idebug <b>id</b></CODE> <I>?id?</I> +<DD> 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 *. + +<DT> <CODE>idebug <b>off</b></CODE> +<DD> Turns idebug off. + +<DT> <CODE>idebug <b>on</b></CODE> <I>?id?</I> +<DD> Turns idebug on. If <i>id</i> is specified, it sets the id to it. + +<DT> <CODE>idebug {puts ?id?}</CODE> <I>args</I> +<DD> Behaves just like <code>puts</code>, but only triggers when idebug is +on. You can specify an optional id to further restrict triggering. If no +id is specified, it defaults to the name of the command in which the call +was made. + +<DT> <CODE>idebug <b>show</b></CODE> <I>type ?level? ?VERBOSE?</I> +<DD> <i>type</i> must be one of vars, locals or globals. This method +will output the variables/locals/globals present in a particular level. +If VERBOSE is added, then it actually 'dump's out the values as well. +<i>level</i> defaults to the level in which this method was called. + +<DT> <CODE>idebug <b>trace</b></CODE> <I>?level?</I> +<DD> Prints out the stack trace from the specified level up to the top +level. <i>level</i> defaults to the current level. + +</DL> +</DIV> +</TD></TR></TABLE> + +<HR NOSHADE SIZE=1> +<ADDRESS><FONT SIZE=2>© Jeffrey Hobbs</FONT></ADDRESS> + +</BODY> +</HTML> |