README.md
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--
Update README.md
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
# Visual / VM Debugger
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
     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
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
## Features
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
     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
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    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
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    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
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
## Prerequisites
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    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.
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    24
For more information about building patched GDB see [https://swing.fit.cvut.cz/hg/jv-libgdbs/file/tip/doc/GDB.md][9].
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    26
## Downloading and running:
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    28
 1. Create a directory for VDB
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    30
        mkdir vdb
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    31
        cd vdb
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    33
 2. Get pre-built [Smalltalk/X jv-branch][3] "toy" archive:
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    34
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    35
        wget --quiet --output-document=get-stx.py https://swing.fit.cvut.cz/download/smalltalkx/get-stx.py
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    36
        python3 get-stx.py
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    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
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    40
 3. Get [jv:libgdbs][5]:
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    42
        mkdir jv
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    43
        hg clone https://swing.fit.cvut.cz/hg/jv-libgdbs/ jv/libgdbs
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    45
 4. Get VDB:
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    47
        hg clone https://swing.fit.cvut.cz/hg/jv-vdb/ jv/vdb
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    49
 5. To run VDB, execute:
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    50
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    51
        ./stx/bin/stx --package-path . --load jv:vdb --run VDBStartup
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    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
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
## Reporting issues
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
Use [Smalltalk/X jv-branch issue tracker][6] to [report issues][7] (you may need
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
to login using your Google account in order to submit an issue). Alternatively,
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    61
send a message to [Smalltalk/X mailing list][8].
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
## Author
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
268
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    65
Jan Vrany `<jan [at] vrany.io>`
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
## License
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    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
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
[1]: http://creativecommons.org/licenses/by-nc/4.0/
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
[2]: https://www.gnu.org/software/gdb/
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    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
47653b528e7b Update README.md
Jan Vrany <jan.vrany@labware.com>
parents: 264
diff changeset
    76
[5]: https://swing.fit.cvut.cz/hg/jv-libgdbs/
108
277fadaec466 Fix link in `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
    77
[6]: https://swing.fit.cvut.cz/projects/stx-jv/wiki/Documentation/BuildingStXWithRakefiles
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
[7]: https://swing.fit.cvut.cz/projects/stx-jv/newticket
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    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/