134 lines
		
	
	
	
		
			5.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			134 lines
		
	
	
	
		
			5.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
								 | 
							
								<HTML>
							 | 
						||
| 
								 | 
							
								<HEAD>
							 | 
						||
| 
								 | 
							
								<TITLE>Internal Debugging Help</TITLE>
							 | 
						||
| 
								 | 
							
								</HEAD>
							 | 
						||
| 
								 | 
							
								<BODY>
							 | 
						||
| 
								 | 
							
								<H2>Insight Internal Debugging Functions</H2>
							 | 
						||
| 
								 | 
							
								<H3>Overview</H3>
							 | 
						||
| 
								 | 
							
								<P> This describes the basic internal functions for debugging Insight.
							 | 
						||
| 
								 | 
							
								This information is for Insight developers trying to debug Insight, 
							 | 
						||
| 
								 | 
							
								not for users trying to debug other programs.</P>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<H3>Environment Variables</H3>
							 | 
						||
| 
								 | 
							
								<P><b>GDBTK_DEBUG</b> - Setting this variable controls the Debug
							 | 
						||
| 
								 | 
							
								window.</P>
							 | 
						||
| 
								 | 
							
								<P><b>GDBTK_DEBUG</b> may have the following values:</P>
							 | 
						||
| 
								 | 
							
								<DL>
							 | 
						||
| 
								 | 
							
								<DT>0 or unset</DT>
							 | 
						||
| 
								 | 
							
								<DD>The Debug window is not opened and not listed on the menu. (You
							 | 
						||
| 
								 | 
							
								may still open it by typing Ctrl-U in the source window.)</DD>
							 | 
						||
| 
								 | 
							
								<DT>1</DT>
							 | 
						||
| 
								 | 
							
								<DD>The Debug window is listed on the menu, but not opened.</DD>
							 | 
						||
| 
								 | 
							
								<DT>2</DT>
							 | 
						||
| 
								 | 
							
								<DD>The Debug window is opened at startup.</DD>
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<HR>
							 | 
						||
| 
								 | 
							
								<P><b>GDBTK_TRACE</b> - This variable determines if tracing is enabled.
							 | 
						||
| 
								 | 
							
								Tracing may only be enabled at GDBTK startup.  Changing <b>GDBTK_TRACE</b> 
							 | 
						||
| 
								 | 
							
								while GDBTK is running has no effect.</P>
							 | 
						||
| 
								 | 
							
								<P><b>GDBTK_TRACE</b> may have the following values:</P>
							 | 
						||
| 
								 | 
							
								<DL>
							 | 
						||
| 
								 | 
							
								<DT>0 or unset</DT>
							 | 
						||
| 
								 | 
							
								<DD>Tracing is not enabled.</DD>
							 | 
						||
| 
								 | 
							
								<DT>1</DT>
							 | 
						||
| 
								 | 
							
								<DD>Tracing is enabled, but not started.  To start tracing, you need to do
							 | 
						||
| 
								 | 
							
								so in the Debug Window or from the console. (The command to do this is "tk
							 | 
						||
| 
								 | 
							
								::debug::trace_start).</DD>
							 | 
						||
| 
								 | 
							
								<DT>2</DT>
							 | 
						||
| 
								 | 
							
								<DD>Tracing is enabled and started immediately.</DD>
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<P><b>GDBTK_DEBUGFILE</b> - This variable contains an optional filename
							 | 
						||
| 
								 | 
							
								where GDBTK will write all debugging information. This information will include
							 | 
						||
| 
								 | 
							
								the output of all "debug" and "dbug" commands, as well as tracing, if it is 
							 | 
						||
| 
								 | 
							
								enabled. The value of
							 | 
						||
| 
								 | 
							
								<b>GDBTK_DEBUGFILE</b> will not change what is displayed in the Debug
							 | 
						||
| 
								 | 
							
								Window, with one exception; when the Debug Window is opened, it will read
							 | 
						||
| 
								 | 
							
								the contents of <b>GDBTK_DEBUGFILE</b> (if it is set and not "stdout").
							 | 
						||
| 
								 | 
							
								<P><b>GDBTK_DEBUGFILE</b> may have the following values:</P>
							 | 
						||
| 
								 | 
							
								<DL>
							 | 
						||
| 
								 | 
							
								<DT>unset</DT>
							 | 
						||
| 
								 | 
							
								<DD>No information will be logged.</DD>
							 | 
						||
| 
								 | 
							
								<DT><i>filename</i></DT>
							 | 
						||
| 
								 | 
							
								<DD>Debugging information will be logged to <i>filename</i>.
							 | 
						||
| 
								 | 
							
								<DT>"stdout"</DT>
							 | 
						||
| 
								 | 
							
								<DD>Debugging information will be written to stdout</DD>
							 | 
						||
| 
								 | 
							
								</DL>
							 | 
						||
| 
								 | 
							
								<HR>
							 | 
						||
| 
								 | 
							
								<H3>Tcl Debugging Functions</H3>
							 | 
						||
| 
								 | 
							
								<P> All debugging functions have been moved into debug.tcl in the ::debug 
							 | 
						||
| 
								 | 
							
								namespace. "debug" and "dbug" are imported into the global namespace.</P>
							 | 
						||
| 
								 | 
							
								<P> The following are the standard debug message functions.</P>
							 | 
						||
| 
								 | 
							
								<pre>
							 | 
						||
| 
								 | 
							
								# -----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								# NAME:		debug::debug
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# SYNOPSIS:	debug { {msg ""} }
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# DESC:		Writes a message to the proper output. The priority of the
							 | 
						||
| 
								 | 
							
								#		message is assumed to be "I" (informational). This function
							 | 
						||
| 
								 | 
							
								#		is provided for compatibility with the previous debug function.
							 | 
						||
| 
								 | 
							
								#		For higher priority messages, use dbug.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# ARGS:		msg - Message to be displayed.
							 | 
						||
| 
								 | 
							
								# -----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# -----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								# NAME:		debug::dbug
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# SYNOPSIS:	dbug { level msg }
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# DESC:		Writes a message to the proper output. Unlike debug, this
							 | 
						||
| 
								 | 
							
								#		function take a priority level.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# ARGS:		msg   - Message to be displayed.
							 | 
						||
| 
								 | 
							
								#		level - One of the following:
							 | 
						||
| 
								 | 
							
								#				"I" - Informational only 
							 | 
						||
| 
								 | 
							
								#				"W" - Warning
							 | 
						||
| 
								 | 
							
								#				"E" - Error
							 | 
						||
| 
								 | 
							
								#				"X" - Fatal Error
							 | 
						||
| 
								 | 
							
								# ----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								<P> These next functions are used to trace variables, which should not be
							 | 
						||
| 
								 | 
							
								confused with the functions tracing.<P>
							 | 
						||
| 
								 | 
							
								<pre>
							 | 
						||
| 
								 | 
							
								# ----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								# NAME:		debug::trace_var
							 | 
						||
| 
								 | 
							
								# SYNOPSIS:	debug::trace_var {varName mode}
							 | 
						||
| 
								 | 
							
								# DESC:		Sets up variable trace.  When the trace is activated,
							 | 
						||
| 
								 | 
							
								#		debugging messages will be displayed.
							 | 
						||
| 
								 | 
							
								# ARGS:		varName - the variable name
							 | 
						||
| 
								 | 
							
								#		mode - one of more of the following letters
							 | 
						||
| 
								 | 
							
								#			r - read
							 | 
						||
| 
								 | 
							
								#			w - write
							 | 
						||
| 
								 | 
							
								#			u - unset
							 | 
						||
| 
								 | 
							
								# ----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								# ----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								# NAME:		debug::remove_trace
							 | 
						||
| 
								 | 
							
								# SYNOPSIS:	debug::remove_trace {var mode}
							 | 
						||
| 
								 | 
							
								# DESC:		Removes a trace set up with "trace_var".
							 | 
						||
| 
								 | 
							
								# ----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								# ----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								# NAME:		debug::remove_all_traces
							 | 
						||
| 
								 | 
							
								# SYNOPSIS:	debug::remove_all_traces
							 | 
						||
| 
								 | 
							
								# DESC:		Removes all traces set up with "trace_var".
							 | 
						||
| 
								 | 
							
								# ----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								<P> The following two functions may be used to start and stop tracing
							 | 
						||
| 
								 | 
							
								programmatically.</P>
							 | 
						||
| 
								 | 
							
								<pre>
							 | 
						||
| 
								 | 
							
								# -----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								# NAME:		::debug::trace_start
							 | 
						||
| 
								 | 
							
								# SYNOPSIS:	::debug::trace_start
							 | 
						||
| 
								 | 
							
								# DESC:		Starts logging of function trace information.
							 | 
						||
| 
								 | 
							
								# -----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								# -----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								# NAME:		::debug::trace_stop
							 | 
						||
| 
								 | 
							
								# SYNOPSIS:	::debug::trace_stop
							 | 
						||
| 
								 | 
							
								# DESC:		Stops logging of function trace information.
							 | 
						||
| 
								 | 
							
								# -----------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								</BODY>
							 | 
						||
| 
								 | 
							
								</HTML>
							 |