author | Jan Vrany <jan.vrany@labware.com> |
Mon, 08 Aug 2022 12:27:57 +0100 | |
changeset 268 | 47653b528e7b |
parent 264 | 23960fcb9dac |
permissions | -rw-r--r-- |
103 | 1 |
# Visual / VM Debugger |
2 |
||
268 | 3 |
*Visual / VM Debugger* (*VDB* for short) is a simple standalone graphical front-end for [GDB][2]aimed to debug, not only, virtual machines. It provides easy-to-use, easy-to-extend user interface while keeping full power of GDB command line and scripting facilities. |
103 | 4 |
|
5 |
## Features |
|
6 |
||
268 | 7 |
* source-and-assembly view with detailed instruction analysis (basic blocks, |
142
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
8 |
jump targets and so on), |
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
9 |
* data structure inspector, |
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
10 |
* configurable memory view, |
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
11 |
* integrated *GDB* command line with completion (even on Windows!), |
268 | 12 |
* integrated support for reverse debugging using *GDB's* native reverse |
142
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
13 |
debugging or [rr][11], |
268 | 14 |
* ability to run *GDB* remotely through SSH on a remote server or on a |
142
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
15 |
development board |
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
16 |
|
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
17 |
## Obligatory Screenshot |
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
18 |
|
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
19 |
![Visual/VM Debugger](doc/vdb-001.png) |
103 | 20 |
|
21 |
## Prerequisites |
|
22 |
||
268 | 23 |
It is recommended to use GDB built from [https://github.com/janvrany/binutils-gdb][4] as it contains changes not yet in upstream. However, VDB should work fine with stock GDB 12 and newer. |
24 |
For more information about building patched GDB see [https://swing.fit.cvut.cz/hg/jv-libgdbs/file/tip/doc/GDB.md][9]. |
|
103 | 25 |
|
268 | 26 |
## Downloading and running: |
103 | 27 |
|
268 | 28 |
1. Create a directory for VDB |
103 | 29 |
|
268 | 30 |
mkdir vdb |
31 |
cd vdb |
|
103 | 32 |
|
268 | 33 |
2. Get pre-built [Smalltalk/X jv-branch][3] "toy" archive: |
34 |
||
35 |
wget --quiet --output-document=get-stx.py https://swing.fit.cvut.cz/download/smalltalkx/get-stx.py |
|
36 |
python3 get-stx.py |
|
103 | 37 |
|
268 | 38 |
Alternatively, you may download and unpack apropriate archive from [https://swing.fit.cvut.cz/download/smalltalkx/devel](https://swing.fit.cvut.cz/download/smalltalkx/devel/). |
142
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
39 |
|
268 | 40 |
3. Get [jv:libgdbs][5]: |
103 | 41 |
|
268 | 42 |
mkdir jv |
43 |
hg clone https://swing.fit.cvut.cz/hg/jv-libgdbs/ jv/libgdbs |
|
103 | 44 |
|
268 | 45 |
4. Get VDB: |
103 | 46 |
|
268 | 47 |
hg clone https://swing.fit.cvut.cz/hg/jv-vdb/ jv/vdb |
103 | 48 |
|
268 | 49 |
5. To run VDB, execute: |
50 |
||
51 |
./stx/bin/stx --package-path . --load jv:vdb --run VDBStartup |
|
103 | 52 |
|
142
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
53 |
## Documentation |
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
54 |
|
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
55 |
Some documentation can be found in [doc][10] directory, see [doc/README.md][10] |
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
56 |
|
103 | 57 |
## Reporting issues |
58 |
||
59 |
Use [Smalltalk/X jv-branch issue tracker][6] to [report issues][7] (you may need |
|
60 |
to login using your Google account in order to submit an issue). Alternatively, |
|
268 | 61 |
send a message to [Smalltalk/X mailing list][8]. |
103 | 62 |
|
63 |
## Author |
|
64 |
||
268 | 65 |
Jan Vrany `<jan [at] vrany.io>` |
103 | 66 |
|
67 |
## License |
|
68 |
||
264
23960fcb9dac
Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents:
204
diff
changeset
|
69 |
This software is licensed under *MIT license*. |
23960fcb9dac
Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents:
204
diff
changeset
|
70 |
You may find a full license text in `LICENSE.txt`. |
103 | 71 |
|
72 |
[1]: http://creativecommons.org/licenses/by-nc/4.0/ |
|
73 |
[2]: https://www.gnu.org/software/gdb/ |
|
74 |
[3]: https://swing.fit.cvut.cz/projects/stx-jv |
|
204
fbf9eff7df60
Fix `Step Into` in assembly view
Jan Vrany <jan.vrany@labware.com>
parents:
142
diff
changeset
|
75 |
[4]: https://github.com/janvrany/binutils-gdb |
268 | 76 |
[5]: https://swing.fit.cvut.cz/hg/jv-libgdbs/ |
108 | 77 |
[6]: https://swing.fit.cvut.cz/projects/stx-jv/wiki/Documentation/BuildingStXWithRakefiles |
103 | 78 |
[7]: https://swing.fit.cvut.cz/projects/stx-jv/newticket |
79 |
[8]: https://groups.google.com/forum/#!forum/stx-jv |
|
204
fbf9eff7df60
Fix `Step Into` in assembly view
Jan Vrany <jan.vrany@labware.com>
parents:
142
diff
changeset
|
80 |
[9]: https://swing.fit.cvut.cz/hg/jv-libgdbs/file/tip/doc/GDB.md |
142
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
81 |
[10]: doc/README.md |
dae35d5b3d72
Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
82 |
[11]: https://rr-project.org/ |