debugger.txt For Vim version 7.4. Last change: 2005 Mar 29LINK

VIM REFERENCE MANUAL by Gordon Prieur

Debugger Support Features debugger-supportLINK

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-featuresLINK

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-inputLINK

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-signsLINK

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-highlightLINK

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-footerLINK

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-evalLINK

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-compilationLINK

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-integrationLINK

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: