1
0
Fork 0
mirror of https://github.com/vim/vim synced 2025-03-22 01:35:11 +01:00
vim/runtime/doc/debugger.txt

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

135 lines
5.3 KiB
Text
Raw Permalink Normal View History

*debugger.txt* For Vim version 9.1. Last change: 2019 Dec 21
2004-06-13 20:20:40 +00:00
VIM REFERENCE MANUAL by Gordon Prieur
Debugger Support Features *debugger-support*
2019-07-13 23:04:31 +02:00
These features are for integration with a debugger or an Integrated
Programming Environment (IPE) or Integrated Development Environment (IDE).
For the debugger running in a Vim terminal window see |terminal-debugger|.
2004-06-13 20:20:40 +00:00
1. Debugger Features |debugger-features|
2. Vim Compile Options |debugger-compilation|
==============================================================================
1. Debugger Features *debugger-features*
2019-07-13 23:04:31 +02:00
The following features are available:
2004-06-13 20:20:40 +00:00
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
2005-04-15 21:00:38 +00:00
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
2004-06-13 20:20:40 +00:00
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
2005-04-15 21:00:38 +00:00
with a debugger or external tool. In many cases there will also be an output
2004-06-13 20:20:40 +00:00
connection but this isn't absolutely necessary.
The purpose of the input connection is to let the external debugger send
2005-04-15 21:00:38 +00:00
commands to Vim. The commands sent by the debugger should give the debugger
2004-06-13 20:20:40 +00:00
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
2005-04-15 21:00:38 +00:00
on the line. The |:sign| command lets the debugger set this graphic mark. Some
2004-06-13 20:20:40 +00:00
examples where this feature would be used would be a debugger showing an arrow
2005-04-15 21:00:38 +00:00
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
2004-06-13 20:20:40 +00:00
highlights let the user keep track of certain parts of the state of the
debugger.
2005-04-15 21:00:38 +00:00
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
2004-06-13 20:20:40 +00:00
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*
2005-04-15 21:00:38 +00:00
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
2004-06-13 20:20:40 +00:00
work for both vim and gvim, whereas the debug sign is, in most cases, limited
2005-04-15 21:00:38 +00:00
to gvim. The one exception to this is Sun Microsystem's dtterm. The dtterm
2004-06-13 20:20:40 +00:00
from Sun has a "sign gutter" for showing signs.
1.4 Message Footer *gui-footer*
2005-04-15 21:00:38 +00:00
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
2004-06-13 20:20:40 +00:00
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
2005-04-15 21:00:38 +00:00
information based on where the mouse is pointing. The purpose of this feature
2004-06-13 20:20:40 +00:00
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
2019-05-26 21:33:31 +02:00
could be used for displaying other information as well. The functionality is
limited though, for advanced popups see |popup-window|.
2004-06-13 20:20:40 +00:00
2019-07-13 23:04:31 +02:00
Another way to use the balloon is with the 'balloonexpr' option. This is
completely user definable.
2005-02-26 23:04:13 +00:00
The Balloon Evaluation has some settable parameters too. For Motif the font
list and colors can be set via X resources (XmNballoonEvalFontList,
2004-06-13 20:20:40 +00:00
XmNballoonEvalBackground, and XmNballoonEvalForeground).
The 'balloondelay' option sets the delay before an attempt is made to show a
balloon.
2017-11-21 23:09:50 +01:00
The 'ballooneval' and/or the 'balloonevalterm' option needs to be set to
switch it on.
2004-06-13 20:20:40 +00:00
2017-11-21 23:09:50 +01:00
Balloon evaluation is only available in the GUI when compiled with the
|+balloon_eval| feature. For the terminal the |+balloon_eval_term| feature
matters.
2004-06-13 20:20:40 +00:00
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.
==============================================================================
2. Vim Compile Options *debugger-compilation*
2019-12-26 14:35:26 +01:00
The debugger features were added for use with Sun's Visual WorkShop Integrated
Programming Environment (ipe). However, they were done in as generic a manner
2020-01-21 22:33:58 +01:00
as possible so that integration with other debuggers could also use these
2019-12-26 14:35:26 +01:00
features.
2004-06-13 20:20:40 +00:00
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
2019-12-26 14:35:26 +01:00
The support specifically for Sun Visual WorkShop has been removed, since the
product no longer exists.
2005-01-31 19:09:12 +00:00
For Sun NetBeans support see |netbeans|.
2004-06-13 20:20:40 +00:00
2019-12-26 14:35:26 +01:00
2018-07-29 15:07:52 +02:00
vim:tw=78:sw=4:ts=8:noet:ft=help:norl: