Make GDB, JDB, PDB and RDebug look at global variables for exeutable paths.
Mdbg already had this feature, since the Windows SDK doesn't normally put it in the PATH(just like any other Microsoft tool that assumes you are going to use Visual Studio and don't need the PATH...)
This commit is contained in:
parent
6e2838c365
commit
722d1e49b8
@ -56,7 +56,8 @@ https://github.com/Shougo/vimproc.vim. Notice that vimproc needs to be built -
|
|||||||
there are instructions in the GitHub page.
|
there are instructions in the GitHub page.
|
||||||
|
|
||||||
In order for Vebugger to use a debugger, that debugger must be installed and
|
In order for Vebugger to use a debugger, that debugger must be installed and
|
||||||
it's executable must be in the PATH. In case of RDebug and PDB, which are used
|
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
|
from the Ruby and Python modules, the interpreter(`ruby` or `python`) is the
|
||||||
one that must be installed and in the path.
|
one that must be installed and in the path.
|
||||||
|
|
||||||
|
@ -6,7 +6,8 @@ function! vebugger#gdb#searchAndAttach(binaryFile)
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! vebugger#gdb#start(binaryFile,args)
|
function! vebugger#gdb#start(binaryFile,args)
|
||||||
let l:debugger=vebugger#std#startDebugger('gdb -i mi --silent '.fnameescape(a:binaryFile))
|
let l:debugger=vebugger#std#startDebugger(shellescape(vebugger#util#getToolFullPath('gdb','gdb'))
|
||||||
|
\.' -i mi --silent '.fnameescape(a:binaryFile))
|
||||||
let l:debugger.state.gdb={}
|
let l:debugger.state.gdb={}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
function! vebugger#jdb#start(entryClass,args)
|
function! vebugger#jdb#start(entryClass,args)
|
||||||
let l:debugger=vebugger#std#startDebugger('jdb'.(has_key(a:args,'classpath') ? ' -classpath '.fnameescape(a:args.classpath) : ''))
|
let l:debugger=vebugger#std#startDebugger(shellescape(vebugger#util#getToolFullPath('jdb','jdb'))
|
||||||
|
\.(has_key(a:args,'classpath') ? ' -classpath '.fnameescape(a:args.classpath) : ''))
|
||||||
let l:debugger.state.jdb={}
|
let l:debugger.state.jdb={}
|
||||||
if has_key(a:args,'srcpath')
|
if has_key(a:args,'srcpath')
|
||||||
let l:debugger.state.jdb.srcpath=a:args.srcpath
|
let l:debugger.state.jdb.srcpath=a:args.srcpath
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
function! vebugger#pdb#start(entryFile,args)
|
function! vebugger#pdb#start(entryFile,args)
|
||||||
let l:debugger=vebugger#std#startDebugger('python -m pdb '.a:entryFile.' '.vebugger#util#commandLineArgsForProgram(a:args))
|
let l:debugger=vebugger#std#startDebugger(shellescape(vebugger#util#getToolFullPath('python','python'))
|
||||||
|
\.' -m pdb '.a:entryFile.' '.vebugger#util#commandLineArgsForProgram(a:args))
|
||||||
|
|
||||||
let l:debugger.state.pdb={}
|
let l:debugger.state.pdb={}
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
function! vebugger#rdebug#start(entryFile,args)
|
function! vebugger#rdebug#start(entryFile,args)
|
||||||
let l:debugger=vebugger#std#startDebugger('ruby -rdebug '.a:entryFile.' '.vebugger#util#commandLineArgsForProgram(a:args))
|
let l:debugger=vebugger#std#startDebugger(shellescape(vebugger#util#getToolFullPath('ruby','ruby'))
|
||||||
|
\.' -rdebug '.a:entryFile.' '.vebugger#util#commandLineArgsForProgram(a:args))
|
||||||
let l:debugger.state.rdebug={}
|
let l:debugger.state.rdebug={}
|
||||||
let l:debugger.state.std.config.externalFileStop_flowCommand='stepover' "skip external modules
|
let l:debugger.state.std.config.externalFileStop_flowCommand='stepover' "skip external modules
|
||||||
|
|
||||||
|
@ -58,9 +58,10 @@ Notice that vimproc needs to be built - there are instructions in the GitHub
|
|||||||
page.
|
page.
|
||||||
|
|
||||||
In order for Vebugger to use a debugger, that debugger must be installed and
|
In order for Vebugger to use a debugger, that debugger must be installed and
|
||||||
it's executable must be in the PATH. In case of RDebug and PDB, which are used
|
it's executable must either be in the PATH or set with a global variable (see
|
||||||
from the Ruby and Python modules, the interpreter("ruby" or "python") is the
|
|vebugger-configuration|). In case of RDebug and PDB, which are used from the
|
||||||
one that must be installed and in the path.
|
Ruby and Python modules, the interpreter("ruby" or "python") is the one that
|
||||||
|
must be installed and in the path.
|
||||||
|
|
||||||
|
|
||||||
CONFIGURATION *vebugger-configuration*
|
CONFIGURATION *vebugger-configuration*
|
||||||
@ -72,6 +73,18 @@ Example: >
|
|||||||
let g:vebugger_leader='<Leader>d'
|
let g:vebugger_leader='<Leader>d'
|
||||||
<
|
<
|
||||||
|
|
||||||
|
If a debugger is not in the PATH you can set the direct path to it by setting
|
||||||
|
g:vebugger_path_XXX, where XXX is the executable used for the debugger:
|
||||||
|
|
||||||
|
*g:vebugger_path_gdb* defaults to "gdb"
|
||||||
|
*g:vebugger_path_jdb* defaults to "jdb"
|
||||||
|
*g:vebugger_path_mdbg* defaults to "Mdbg.exe"
|
||||||
|
*g:vebugger_path_python* defaults to "python"
|
||||||
|
*g:vebugger_path_ruby* defaults to "ruby"
|
||||||
|
|
||||||
|
Notice that for PDB and RDebug you use "python" and "ruby", since the debugger
|
||||||
|
is actually a module bundled in the interpreter.
|
||||||
|
|
||||||
LAUNCHING DEBUGGERS *vebugger-launching*
|
LAUNCHING DEBUGGERS *vebugger-launching*
|
||||||
|
|
||||||
A debugger's implementation is responsible for starting it. The standard is to
|
A debugger's implementation is responsible for starting it. The standard is to
|
||||||
|
Loading…
Reference in New Issue
Block a user