update readme

This commit is contained in:
Chad Smith 2017-01-03 13:29:37 -08:00 committed by Chad Smith
parent ff25cef132
commit 3803a1a581
2 changed files with 58 additions and 16 deletions

View file

@ -1,32 +1,23 @@
[![Build Status](https://travis-ci.org/cs01/gdbgui.svg?branch=master)](https://travis-ci.org/cs01/gdbgui)
# A browser-based gui for GDB
The goal of this project is to reduce the learning curve of GDB to zero, including autocompletion and documentation of all commands.
# A browser-based frontend/gui for GDB.
Add breakpoints, view sourcecode, stack traces, registers, disassembly, and more. Easily hackable single page of es6 JavaScript and jquery, with python managing a gdb subprocess on the backend (see [pygdbmi](https://github.com/cs01/pygdbmi)).
Made with a lightweight Python server (Flask), and JavaScript for the frontend. Simply run the server, then view the page. Tested on Ubuntu 14.04 and 16.04 with Chrome.
Made with a lightweight Python server (Flask), and JavaScript for the frontend. Simply run the server, view the page, and start debuggin'!
![gdbgui](https://github.com/cs01/gdbgui/blob/master/gdbgui.png)
## Installation and Use
Either
## Install
pip install gdbgui
Or
git clone https://github.com/cs01/gdbgui
pip install -r gdbgui/requirements.txt
Then
## Run
python -m gdbgui.backend
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Then open `http://127.0.0.1:5000/` in a browser and enjoy!
Open [http://127.0.0.1:5000/](http://127.0.0.1:5000/) in a browser and enjoy!
## Compatibility
Tested on Python versions
@ -36,3 +27,50 @@ Tested on Python versions
* 3.4
* 3.5
* pypy
Tested on operating systems
* Ubuntu 16.04
Test on browsers
* Chrome
## Development
`gdbgui` was designed to be easily hackable and extendtable.
There is a a single JavaScript file that does all of the requests and handling of gdb responses, `gdbgui.js`.
The main page is derived from a single template `gdbgui.jade`. Note: jade has been renamed to [pug](https://github.com/pugjs/pug), but the Python pypi package still maintains the jade name. Pug is a more concise form of html.
The backend consists of a single Python file, `backend.py`, which makes use of [pygdbmi](https://github.com/cs01/pygdbmi) to interact with a gdb subprocess, and [Flask](http://flask.pocoo.org/) to set up url routing and responses.
To get started with development, set up a new virtual environment, then run
git clone https://github.com/cs01/gdbgui
pip install -r gdbgui/requirements.txt
python -m gdbgui.backend --debug
Test changes are still working with `python setup.py test`. Add to tests at gdbgui/tests/test_app.py
## Contributing
Contributions and bug fixes are welcome!
## Credits
Inspiration was drawn from the following projects
* [sirnewton01 / godbg](https://github.com/sirnewton01/godbg)
* [cyrus-and / gdb](https://github.com/cyrus-and/gdb)
## TODO
* add autocompletion and documentation of all commands
* add ability to view/inspect variables
* add ability to view/inspect memory

View file

@ -35,7 +35,11 @@ setup(
include_package_data=True,
keywords=['gdb', 'python', 'machine-interface', 'parse', 'frontend', 'flask', 'browser', 'gui'],
scripts=[],
entry_points={},
entry_points={
'console_scripts': [
'gdbgui = gdbgui.backend:main'
],
},
extras_require={},
zip_safe=False,
cmdclass={'test': TestCommand},