vim-vebugger/README.md
2018-07-05 10:32:48 -05:00

74 lines
3.1 KiB
Markdown

NOTE: I forked to add node.js support for node 8 and later
currently the debugger stops at the first line. I'll fix this eventually. and then see if I can get this merged back into the original
INTRODUCTION
============
Screencast - https://vimeo.com/95775461
Vebugger is yet another debugger frontend plugin for Vim, created because I
wasn't happy with the other debugger plugins I found. Vebugger currently
supports:
* Tracking the currently executed command in the source code
* Debugger flow commands - step-in, set-over, set-out and continue
* Breakpoints management
* Evaluating expressions in the current executed scope
* Messing with the program's state(changing values, calling functions)
Vebugger is built as a generic framework for building frontends for
interactive shell debugger, and comes with implementations for:
* GDB - doesn't need introdcution...
* JDB - a Java debugger
* Mdbg - a .NET debugger(Windows only)
* PDB - a Python module for debugging Python scripts
* RDebug - a Ruby command line option for debugging Ruby scripts
* NInspect - node inspect for using node.js with the inspect protocal (tested with node.8)
Other implementations can be added with ease, and I will accept pull requests
that add such implementations as long as they use Vim's |license|.
Vebugger is built under the following assumptions:
* While command line debuggers share enough in common to make the creation
of such a framework as Vebugger possible, the differences between them are
too great to be expressed with regular expression. To support them all at
least some code has to be written.
* Unlike IDE users, Vim users tend to understand the tools the operate behind
the scenes. While Vebugger automates the common features, it allows you to
"open the hood" and interact with the debugger's shell directly so you could
utilize the full power of your debugger.
* I have no intention to aim for the lowest common denominator. If one
debugger has a cool feature I want to support, I'll implement it even if the
other debuggers don't have it.
Vebugger is developed under Linux. It doesn't work properly under Windows due
to lack of PTY support. I have neither plans nor means to support OSX, but I
will accept pull requests that add OSX support.
The features that don't work under windows are:
* RDebug.
* Displaying output from the debugged program.
REQUIREMENTS
============
Vebugger requires the vimproc plugin, obtainable from:
https://github.com/Shougo/vimproc.vim. Notice that vimproc needs to be built -
there are instructions in the GitHub page.
In order for Vebugger to use a debugger, that debugger must be installed and
it's executable must be either be in the PATH or set with a global variable
(see `help vebugger-configuration`). In case of RDebug and PDB, which are used
from the Ruby and Python modules, the interpreter(`ruby` or `python`) is the
one that must be installed and in the path.
USAGE
=====
Run `help vebugger-launching` from Vim to learn how to launch the debugger.
Run `help vebugger-usage` from Vim to learn how to operate the debugger.