https://github.com/m42e/gdbinvim
Interface for GDB inside Vim
https://github.com/m42e/gdbinvim
Last synced: about 1 year ago
JSON representation
Interface for GDB inside Vim
- Host: GitHub
- URL: https://github.com/m42e/gdbinvim
- Owner: m42e
- License: gpl-3.0
- Created: 2015-04-16T07:47:11.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-03-17T15:45:19.000Z (over 11 years ago)
- Last Synced: 2025-02-23T19:16:24.992Z (over 1 year ago)
- Language: Python
- Size: 188 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
GDBinVim
========
Copyright (C) 2014 Joel
http://hippersoft.fr/projects/gdbinvim/
GDBinVim is an interface for GDB inside vim. It embeds a patched PEDA
(Python Exploit Development Assistance for GDB) with special commands
to communicate with Vim.
You can control the execution of the program directly in Vim (instruction step
by step, breakpoints, ...). At each state, registers and stack are printed.
You can also "hexdump" an address.
Every patchs/forks are welcome !
## Screenshot

## Requirements
* python 2.7
* GDB
* Vim
## Installation
cp gdbin.vim ~/.vim/plugins
## Run
You only have to run gdb.py like if it was GDB :
cd yourproject/
alias gdb="path/to/gdbinvim/gdb.py"
gdb --args yourprog
## Shortcuts (Vim side)
Open a new Vim session in the same directory where you launch gdb, and enter
`:Gdb`, or put Gdb in the command line :
cd yourproject/
vim -c Gdb
* `t` : start the program
* `s` : step into
* `n` : next instruction
* `c` : continue
* `r` : reload
* `b` : toggle breakpoint on cursor line (represented by a red square on the left)
* `h` : back into the history of disassembled (when you have pressed d)
* `d` : disassemble at the address under the cursor
* `p` : print the value at the address under the cursor
* `x` : hexdump at the address under the cursor
* `k` : print the stack at the address under the cursor
* `_d` : `:GdbDisassemble ` disassemble at the specified address
* `_p` : `:GdbPrint ` print the value at the specified address
* `_x` : `:GdbHexdump ` hexdump at the specified address
* `_k` : `:GdbStack ` print the stack at the specified address
* `_b` : save breakpoints to .gdb_breakpoints, you can restore them with
`gdb --command=.gdb_breakpoints --args ...`