Skip to content

Commit c7ce34d

Browse files
committed
update docs and remove docker
1 parent a71b580 commit c7ce34d

File tree

14 files changed

+371
-554
lines changed

14 files changed

+371
-554
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions
22

3-
name: CI tests
3+
name: Tests
44

55
on:
66
pull_request:

CHANGELOG.md

Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
# gdbgui release history
2+
3+
## development
4+
* Removed gdbgui binaries from source control. They can now be downloaded as artifacts of [releases](https://github.com/cs01/gdbgui/releases).
5+
6+
## 0.13.2.1
7+
* No end user changes. This release builds the gdbgui executables with GitHub actions.
8+
9+
## 0.13.2.0
10+
* Print number of times a breakpoint was hit (@MatthiasKreileder).
11+
* Publish sdist to PyPI (this was overlooked in previous release).
12+
* Do not notify users of gdbgui upgrades (deprecate `--hide-gdbgui-upgrades` flag)
13+
* Drop support for Python 3.4
14+
* [dev] Some infrastructure changes to gdbgui. End users should not be affected.
15+
* [dev] Fix build error due to webpack bug (https://github.com/webpack/webpack/issues/8082).
16+
17+
## 0.13.1.2
18+
* Exclude "tests" directory from Python package
19+
* Remove analytics from documentation
20+
21+
## 0.13.1.1
22+
* Add `__main__` entrypoint
23+
24+
## 0.13.1.0
25+
* Remove automatic flushing of stdout and require newer version of pygdbmi
26+
* Add flake8 tests to CI build
27+
28+
## 0.13.0.0
29+
* Add ability to re-map source file paths. Added flags `--remap-sources` and `-m` to replace compile-time source paths to local source paths. i.e. `gdbgui --remap-sources='{"/buildmachine": "/home/chad"}'` (#158)
30+
* Add shift keyboard shortcut to go in reverse when using rr (#201)
31+
* Pass arbitrary gdb arguments directly to gdb: added `--gdb-args` flag
32+
* Removed `-x` CLI option, which caused major version to change. New way to pass is `gdbgui --gdb-args='-x=FILE'` (#205)
33+
* Add "name" to Threads (new gdb 8.1 feature) (@P4Cu)
34+
* Fix crash/black screen from "Python Exception <class NameError> name long is not defined" #212
35+
* Fix bug when debugging filenames with spaces (Fix Cannot create breakpoint: -break-insert: Garbage following <location> #211")
36+
* Fix empty frame causes the ui to crash/black screen #216
37+
* Update npm packages; update react to 16.4
38+
* Update prettier rules
39+
* Update tour text + fix typo in tour (@nkirkby)
40+
41+
## 0.12.0.0
42+
* Add pause button
43+
* Update command line parsing for cmd and --args, change arguments from underscore to hyphen, add option to specify browser (@fritzr)
44+
* Add tour
45+
* Run `set breakpoint pending on` on initial connection
46+
* Allow signal to be sent to arbitrary PIDs
47+
* Fix bug when sending signals in Python2
48+
* Move signal component lower in side pane
49+
* Update Rust documentation
50+
* Make requirements.txt point to setup.py's dependencies
51+
52+
## 0.11.3.1
53+
* Limit maximum Flask version to prevent `Session expired. Please refresh this webpage.` error
54+
* Rename "premium" to "ad-free"
55+
* Do smarter version checking
56+
* Fix bug when trying to view "about"
57+
58+
## 0.11.3.0
59+
* ensure expressions with hex values are parsed and updated appropriately (#182)
60+
* improve command line arguments
61+
* use python logging module
62+
63+
## 0.11.2.1
64+
* Small bugfix for specific platforms when reading version number
65+
66+
## 0.11.2.0
67+
* add option to remove fflush command (#179)
68+
* remove react-treebeard and render filesystem w/ new component
69+
70+
## 0.11.1.1
71+
* Bugfix displaying upgrade text
72+
73+
## 0.11.1.0
74+
* Add csrf and cross origin protection
75+
* Convert backslashes to forward slashes when entering windows binary paths (#167)
76+
* Fix safari ui issue (#164)
77+
* Update text on reload file button, and disable when no file is loaded (#165)
78+
* When disassembly can't be fetched in mode 4, fetch in mode 3 and assume gdb version is 7.6.0 (#166)
79+
* Add copy to clipboard icon for files and variables
80+
* Allow SSL module import to fail and print warning (#170)
81+
* Cleanup menu, add license info, bugfixes, etc. (#169, #136, #163, #172)
82+
83+
## 0.11.0.0
84+
* Replace `--auth` cli option with `--user` and `--password`
85+
86+
## 0.10.3.0
87+
* Added resizer buttons to components on right pane
88+
89+
## 0.10.2.1
90+
* Add link for fix for macOS users
91+
* Update version of React to 16.2
92+
* Remove unused links
93+
94+
## 0.10.2.0
95+
* Add folders view, rearrange layout (@martin-der)
96+
* Add settings cog button
97+
* Add message when sending signal to inferior process (#156)
98+
* Change default theme to monokai, rename 'default' theme to 'light'
99+
* Minor bugfixes
100+
101+
## 0.10.1.0
102+
* Display descriptions of registers
103+
* Do not try to fetch Registers when they cannot be read
104+
105+
## 0.10.0.2
106+
* Add support for rr (--rr flag)
107+
* Add dashboard to connect to/kill existing gdb processes
108+
* Add option to specify SSL key and certificate to enable https
109+
* Add option to connect to process
110+
* Add option to connect to gdbserver
111+
* Add infinite scrolling
112+
113+
## 0.9.4.1
114+
* Remove `pypugjs` dependency
115+
116+
## 0.9.4.0
117+
* Add native Windows support (no longer relies on Cygwin)
118+
119+
## 0.9.3.0
120+
* Only display assembly flavor is assembly is displayed
121+
* Add new output type to console (gdbgui output)
122+
* Add dashboard link and dropdown for gdb server/pid attach
123+
* Handle invalid signal choice better
124+
* Print gdb mi log messages to console
125+
* Remove localStorage keys when they are invalid
126+
127+
## 0.9.2.0
128+
* Add signals component and allow signals to be sent to gdb (issue ##141)
129+
* Fix bug when jumping to line of source file
130+
131+
## 0.9.1.1
132+
* Fix bug when passing arguments to gdb
133+
* Require latest version of pygdbmi for faster parsing of large gdb output
134+
135+
## 0.9.1.0
136+
* Lazily load files (issue #131)
137+
* Update setup.py to build wheels
138+
139+
## 0.9.0.1
140+
* Reupload to fix setup.cfg PyPI bug
141+
142+
## 0.9.0.0
143+
* Compress responses from server (massive bandwidth improvement)
144+
* Add button to toggle assembly flavors (issue #110)
145+
* Parse executable+args with spaces (issue #116)
146+
* Turn modals into components
147+
* Move everything into a single root React component
148+
* Refresh state when clicking "return" button
149+
* Add javascript unit tests
150+
151+
## 0.8.2.0
152+
* Add optional authentication (@nickamon, issue #132)
153+
* Support the `--args` flag (issue #126)
154+
* Ensure code is correct and adheres to recommended Python style when running tests/building (flake8)
155+
* Display source when running `backtrace` (fix regression, #134)
156+
157+
158+
## 0.8.1.0
159+
* Add autocomplete functionality (@bobthekingofegypt, issue #129)
160+
* Rearranged and improved alignment of assembly
161+
* Fixed bug when fetching variable fails
162+
* Plot floating point values instead of casting to int
163+
164+
## 0.8.0.3
165+
* modify component initialization order so that store updates are better sequenced
166+
167+
## 0.8.0.2
168+
* display bracket instead of `&lt;` when exploring gdb variables
169+
170+
## 0.8.0.1
171+
* fix bug when restoring old settings
172+
173+
## 0.8.0.0
174+
* Add ability to change radix of variables (issue #102)
175+
* Add component to send signals to inferior program (issues #31, #90)
176+
* Parse gdb version from arm-non-eabi-gdb (issue #83)
177+
* Rewrite most components to React (issue #17)
178+
* Improve CSS in various components
179+
180+
## 0.7.9.5
181+
* re-fetch registers if name/value count does not match
182+
183+
## 0.7.9.4
184+
* add inputs to resize Tree view
185+
* add menu in top right
186+
* css updates to preserve whitespace in terminal
187+
* add top-level html to wrap body+head elements in gdbgui.pug
188+
* add help file
189+
* add donate page
190+
191+
## 0.7.9.3
192+
* Changes to layout
193+
* Fix character escaping in breakpoint line display
194+
195+
## 0.7.9.2
196+
* Fix firefox css bug
197+
* Update examples
198+
* Update readme for windows (cygwin) users (thanks tgharib)
199+
200+
## 0.7.9.1
201+
* Collapse simple fields to the parent node in tree explorer
202+
* Add button to re-enter program state when signals are received (i.e. SEGFAULT)
203+
204+
## 0.7.9.0
205+
* Add interactive tree explorer of variables
206+
207+
## 0.7.8.3
208+
* Remove optimization for fetching registers due to potential bug
209+
210+
## 0.7.8.2
211+
* bugfix in logic when jumping to source code line
212+
* bugfix for when variable goes from`empty -> 1 element`
213+
* add CODE OF CONDUCT, CONTRIBUTING, and CHANGELOG files
214+
215+
## 0.7.8.1
216+
* correctly display `<` and `>` in console widget
217+
218+
## 0.7.8.0
219+
* show disassembly when file is unknown or missing
220+
* show new children in expressions widget when they are dynamically added by application (@wuyihao)
221+
* suppress nuisance errors when hover variable or fflush command is not found
222+
* improve logic when source code line should be jumped to
223+
* escape brackets in disassembly, and gracefully hide missing opcodes
224+
* update socketio version for more reliable websocket connection
225+
226+
## 0.7.7.0
227+
* Show variable values when hovering in source code
228+
* gracefully handle hostname not being present in /etc/hosts when running with remote flag
229+
* Use external state management library (`stator.js`) for client ui

CONTRIBUTING.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
Thanks for your interest in contributing to gdbgui!
2+
3+
If your change is small, go ahead and submit a pull request. If it is substantial, create a GitHub issue to discuss it before making the change.
4+
5+
## Development Instructions
6+
7+
gdbgui uses [nox](https://github.com/theacodes/nox) to automate various tasks. You will need it installed on your system before continuing.
8+
9+
You can install it with pipx (recommended):
10+
```
11+
> pipx install nox
12+
```
13+
or pip:
14+
```
15+
> pip install --user nox
16+
```
17+
18+
### Step 1: Compile JavaScript Code
19+
20+
gdbgui compiles JavaScript source code into a single .js file.
21+
22+
Note that `yarn` can be replaced with `npm`:
23+
24+
First install JavaScript dependencies:
25+
```bash
26+
yarn install
27+
```
28+
29+
To watch JavaScript files for changes and build non-optimized code for each change, use
30+
```
31+
yarn start
32+
```
33+
34+
This is useful for iterating on changes.
35+
36+
To build once for production-optimized code, you can run
37+
```
38+
yarn build
39+
```
40+
41+
### Step 2: Run Server
42+
43+
```bash
44+
git clone https://github.com/cs01/gdbgui
45+
cd gdbgui
46+
nox -s develop-3.7 # replace with desired Python version
47+
source .nox/develop-3-7/bin/activate # replace with desired Python version
48+
```
49+
50+
You are now in a virtual environment with gdbgui's dependencies installed. When finished, type `deactivate` to leave the virtual environment.
51+
52+
```bash
53+
python -m gdbgui --debug
54+
```
55+
56+
The `--debug` flag:
57+
58+
1. Automatically reloads the server when it detects changes you've made
59+
1. 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.
60+
1. 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`
61+
62+
63+
### Step 3: Make your changes
64+
65+
Open the browser to view gdbgui. Refresh the page as you make changes to JavaScript code.
66+
67+
!!! Note
68+
69+
Make sure you have caching turned off in your browser. In Chrome, for example, this is a setting in the developer console.
70+
71+
### Step 4: Run and Add tests
72+
73+
To continue, you must have nox installed.
74+
75+
```bash
76+
nox
77+
```
78+
79+
runs gdbgui unit tests.
80+
81+
If you have changed any Python code, add new tests to `gdbgui/tests/test_app.py` as necessary.
82+
83+
JavaScript tests are minimal, so you will have to manually excercise any code paths that may be affected.
84+
85+
## Documentation
86+
87+
### Modifying Documentation
88+
Documentation is made with `mkdocs`. Then make changes to `mkdocs.yml` or md files in the `docs` directory.
89+
90+
To build docs, run
91+
```
92+
nox -s docs
93+
```
94+
95+
To see a live preview of current documentation, run
96+
```
97+
nox -s watch_docs
98+
```
99+
100+
### Publishing Documentation
101+
The generated documentation is published to the `gh-pages` branch.
102+
```
103+
nox -s publish_docs
104+
```
105+
106+
### Building Binary Executables
107+
108+
These are automatically built on CI, but can be built locally with corresponding `nox` commands, such as:
109+
110+
```
111+
nox -s build_executable_current_platform
112+
```
113+
114+
## Publishing a New Version
115+
1. Make sure the version number is incremented in `VERSION.txt`.
116+
1. The version to release must be on the master branch and have all CI tests pass and new binary executable artifacts attached to the GitHub action results
117+
1. Publish the package to PyPI and update documentation. Both are done with this `nox -s publish`.
118+
1. Create a "release" in GitHub and attach the gdbgui binary executable artifacts to it.
119+

MANIFEST.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
include README.md
22
include LICENSE
3+
34
graft gdbgui
45

56
prune examples
@@ -26,3 +27,5 @@ exclude tslint.json
2627
exclude webpack.config.js
2728
exclude yarn.lock
2829
exclude noxfile.py
30+
exclude CHANGELOG.md
31+
exclude CONTRIBUTING.md

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ A modern, browser-based frontend to gdb (gnu debugger)
99
<p align="center">
1010

1111
<a href="https://github.com/cs01/gdbgui/actions">
12-
<img src="https://github.com/cs01/gdbgui/workflows/CI%20tests/badge.svg?branch=master" alt="image" /></a>
12+
<img src="https://github.com/cs01/gdbgui/workflows/Tests/badge.svg?branch=master" alt="image" /></a>
1313

1414
<a href="https://badge.fury.io/py/gdbgui">
1515
<img src="https://badge.fury.io/py/gdbgui.svg" alt="PyPI version" >

0 commit comments

Comments
 (0)