2.1 KiB
Bug Reports
If you think you have found a bug or aren't sure, create an issue or email grassfedcode@gmail.com.
When filing a bug report please include
- output of
pip freeze
- operating system and version
- gdbgui version (
gdbgui -v
) - gdb version (
gdb -v
) - browser being used
Development
Documentation, spelling fixes, bug fixes, and features are welcome.
Workflows
It's generally recommended to create an issue before fixing a bug. When your changes are done, I will review the pull request. When everything looks good, I merge+squash. If the change is large enough, I will increment gdbgui
's version and deploy it to the python package index (pyPI).
Adding features
If you want the feature to be merged into master, create an issue on github to make sure it's something I am interested in adding to gdbgui
before putting too much work in.
Instructions
To get started with development, set up a new virtual environment, then run
git clone https://github.com/cs01/gdbgui
cd gdbgui
pip install -r requirements.txt
pip install -r dev_requirements.txt
gdbgui/backend.py --debug
The --debug
flag does two things:
- adds a new component at the bottom of the right sidebar called "gdb machine interface output" that displays the raw gdb mi output to help you debug.
- displays all changes to state data in the browser's developer console, such as
rendered_source_file_fullname null -> /home/chad/git/gdbgui/examples/hello.c
Note:
- If you are modifying
gdbgui.js
, make sure you have the developer console open so the browser doesn't cache the file and miss your changes. - Update the
dev
section inCHANGELOG.md
for release notes. I will move it to the appropriate version when I make the next release.
Testing
There are two types of tests: unit tests of the python code, and a test of the README.rst
formatting.
make test
runs unit tests and verifies README.rst
is properly formatted.
If you have changed any python code, add new tests to gdbgui/tests/test_app.py
as necessary.