mirror of
				https://github.com/vim/vim.git
				synced 2025-11-03 09:44:48 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			141 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			141 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
*debugger.txt*  For Vim version 7.3e.  Last change: 2005 Mar 29
 | 
						|
 | 
						|
 | 
						|
		  VIM REFERENCE MANUAL    by Gordon Prieur
 | 
						|
 | 
						|
 | 
						|
Debugger Support Features				*debugger-support*
 | 
						|
 | 
						|
1. Debugger Features		|debugger-features|
 | 
						|
2. Vim Compile Options		|debugger-compilation|
 | 
						|
3. Integrated Debuggers		|debugger-integration|
 | 
						|
 | 
						|
{Vi does not have any of these features}
 | 
						|
 | 
						|
==============================================================================
 | 
						|
1. Debugger Features					*debugger-features*
 | 
						|
 | 
						|
The following features are available for an integration with a debugger or
 | 
						|
an Integrated Programming Environment (IPE) or Integrated Development
 | 
						|
Environment (IDE):
 | 
						|
 | 
						|
	Alternate Command Input				|alt-input|
 | 
						|
	Debug Signs					|debug-signs|
 | 
						|
	Debug Source Highlight				|debug-highlight|
 | 
						|
	Message Footer					|gui-footer|
 | 
						|
	Balloon Evaluation				|balloon-eval|
 | 
						|
 | 
						|
These features were added specifically for use in the Motif version of gvim.
 | 
						|
However, the |alt-input| and |debug-highlight| were written to be usable in
 | 
						|
both vim and gvim.  Some of the other features could be used in the non-GUI
 | 
						|
vim with slight modifications.  However, I did not do this nor did I test the
 | 
						|
reliability of building for vim or non Motif GUI versions.
 | 
						|
 | 
						|
 | 
						|
1.1 Alternate Command Input				*alt-input*
 | 
						|
 | 
						|
For Vim to work with a debugger there must be at least an input connection
 | 
						|
with a debugger or external tool.  In many cases there will also be an output
 | 
						|
connection but this isn't absolutely necessary.
 | 
						|
 | 
						|
The purpose of the input connection is to let the external debugger send
 | 
						|
commands to Vim.  The commands sent by the debugger should give the debugger
 | 
						|
enough control to display the current debug environment and state.
 | 
						|
 | 
						|
The current implementation is based on the X Toolkit dispatch loop and the
 | 
						|
XtAddInput() function call.
 | 
						|
 | 
						|
 | 
						|
1.2 Debug Signs						*debug-signs*
 | 
						|
 | 
						|
Many debuggers mark specific lines by placing a small sign or color highlight
 | 
						|
on the line.  The |:sign| command lets the debugger set this graphic mark.  Some
 | 
						|
examples where this feature would be used would be a debugger showing an arrow
 | 
						|
representing the Program Counter (PC) of the program being debugged.  Another
 | 
						|
example would be a small stop sign for a line with a breakpoint.  These visible
 | 
						|
highlights let the user keep track of certain parts of the state of the
 | 
						|
debugger.
 | 
						|
 | 
						|
This feature can be used with more than debuggers, too.  An IPE can use a sign
 | 
						|
to highlight build errors, searched text, or other things.  The sign feature
 | 
						|
can also work together with the |debug-highlight| to ensure the mark is
 | 
						|
highly visible.
 | 
						|
 | 
						|
Debug signs are defined and placed using the |:sign| command.
 | 
						|
 | 
						|
 | 
						|
1.3 Debug Source Highlight				*debug-highlight*
 | 
						|
 | 
						|
This feature allows a line to have a predominant highlight.  The highlight is
 | 
						|
intended to make a specific line stand out.  The highlight could be made to
 | 
						|
work for both vim and gvim, whereas the debug sign is, in most cases, limited
 | 
						|
to gvim.  The one exception to this is Sun Microsystem's dtterm.  The dtterm
 | 
						|
from Sun has a "sign gutter" for showing signs.
 | 
						|
 | 
						|
 | 
						|
1.4 Message Footer					*gui-footer*
 | 
						|
 | 
						|
The message footer can be used to display messages from a debugger or IPE.  It
 | 
						|
can also be used to display menu and toolbar tips.  The footer area is at the
 | 
						|
bottom of the GUI window, below the line used to display colon commands.
 | 
						|
 | 
						|
The display of the footer is controlled by the 'guioptions' letter 'F'.
 | 
						|
 | 
						|
 | 
						|
1.5 Balloon Evaluation					*balloon-eval*
 | 
						|
 | 
						|
This feature allows a debugger, or other external tool, to display dynamic
 | 
						|
information based on where the mouse is pointing.  The purpose of this feature
 | 
						|
was to allow Sun's Visual WorkShop debugger to display expression evaluations.
 | 
						|
However, the feature was implemented in as general a manner as possible and
 | 
						|
could be used for displaying other information as well.
 | 
						|
 | 
						|
The Balloon Evaluation has some settable parameters too.  For Motif the font
 | 
						|
list and colors can be set via X resources (XmNballoonEvalFontList,
 | 
						|
XmNballoonEvalBackground, and XmNballoonEvalForeground).
 | 
						|
The 'balloondelay' option sets the delay before an attempt is made to show a
 | 
						|
balloon.
 | 
						|
The 'ballooneval' option needs to be set to switch it on.
 | 
						|
 | 
						|
Balloon evaluation is only available when compiled with the |+balloon_eval|
 | 
						|
feature.
 | 
						|
 | 
						|
The Balloon evaluation functions are also used to show a tooltip for the
 | 
						|
toolbar.  The 'ballooneval' option does not need to be set for this.  But the
 | 
						|
other settings apply.
 | 
						|
 | 
						|
Another way to use the balloon is with the 'balloonexpr' option.  This is
 | 
						|
completely user definable.
 | 
						|
 | 
						|
==============================================================================
 | 
						|
2. Vim Compile Options					*debugger-compilation*
 | 
						|
 | 
						|
The debugger features were added explicitly for use with Sun's Visual
 | 
						|
WorkShop Integrated Programming Environment (ipe).  However, they were done
 | 
						|
in as generic a manner as possible so that integration with other debuggers
 | 
						|
could also use some or all of the tools used with Sun's ipe.
 | 
						|
 | 
						|
The following compile time preprocessor variables control the features:
 | 
						|
 | 
						|
    Alternate Command Input			ALT_X_INPUT
 | 
						|
    Debug Glyphs				FEAT_SIGNS
 | 
						|
    Debug Highlights				FEAT_SIGNS
 | 
						|
    Message Footer				FEAT_FOOTER
 | 
						|
    Balloon Evaluation				FEAT_BEVAL
 | 
						|
 | 
						|
The first integration with a full IPE/IDE was with Sun Visual WorkShop.  To
 | 
						|
compile a gvim which interfaces with VWS set the following flag, which sets
 | 
						|
all the above flags:
 | 
						|
 | 
						|
    Sun Visual WorkShop				FEAT_SUN_WORKSHOP
 | 
						|
 | 
						|
==============================================================================
 | 
						|
3. Integrated Debuggers					*debugger-integration*
 | 
						|
 | 
						|
One fully integrated debugger/IPE/IDE is Sun's Visual WorkShop Integrated
 | 
						|
Programming Environment.
 | 
						|
 | 
						|
For Sun NetBeans support see |netbeans|.
 | 
						|
 | 
						|
 vim:tw=78:sw=4:ts=8:ft=help:norl:
 |