README.md
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 21 Aug 2019 22:53:15 +0100
changeset 182 4f3f744b58c6
parent 142 dae35d5b3d72
child 204 fbf9eff7df60
permissions -rw-r--r--
Fix `VDBBariableObjectPresenter >> doDoubleClick:`
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
142
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
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
142
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
     7
  * integrated support for reverse-debugging,
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
  * 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
     9
    jump targets and so on),
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    10
  * data structure inspector,
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    11
  * configurable memory view,
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    12
  * integrated *GDB* command line with completion (even on Windows!),
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    13
  * integrated support for reverse debugging using *GDB's* native reverse 
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    14
    debugging or [rr][11],
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    15
  * ability to run *GDB* remotely through SSH on a remote server or on a 
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    16
    development board
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    17
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    18
## Obligatory Screenshot
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    19
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    20
![Visual/VM Debugger](doc/vdb-001.png)
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
## Prerequisites
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
142
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    24
It is recommended to use GDB built from [https://bitbucket.org/janvrany/binutils-gdb][4] as it contains changes required by *VDB*. For more information about building patched GDB see [https://bitbucket.org/janvrany/jv-libgdbs/src/tip/doc/GDB.md][9].
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
## Building from Source
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
142
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    28
*Visual / VM Debugger* is a part of [Smalltalk/X jv-branch][3] since version 8.0.0. To build VDB, just follow instructions how to [build Smalltalk/X jv-branch][6] and then run either:
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
```
107
d98c11f9a7f5 Move `VDBStartup` from `jv:vdb/application` to `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    31
./build/stx/projects/smalltalk/smalltalk --load jv:vdb --run VDBStartup
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
```
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
Or evaluate following in a workspace: 
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
```
107
d98c11f9a7f5 Move `VDBStartup` from `jv:vdb/application` to `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    37
Smalltalk loadPackage: 'jv:vdb'.
d98c11f9a7f5 Move `VDBStartup` from `jv:vdb/application` to `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    38
VDBStartup main.
d98c11f9a7f5 Move `VDBStartup` from `jv:vdb/application` to `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    39
"or"
d98c11f9a7f5 Move `VDBStartup` from `jv:vdb/application` to `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    40
VDBStartup main: #('--help')
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
```
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
142
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    43
For more details, see [documentation][10], sections [Building from Source](Building.md)
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    44
and [Invoking and Configuring](Invoking.md).
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    45
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
## Pre-built binaries
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
Download and unpack latest [Smalltalk/X jv-branch toy archive][5]
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
and run run:
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
```
107
d98c11f9a7f5 Move `VDBStartup` from `jv:vdb/application` to `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    52
stx --load jv:vdb --run VDBStartup
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
```
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
Or evaluate following in a workspace: 
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
```
107
d98c11f9a7f5 Move `VDBStartup` from `jv:vdb/application` to `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    58
Smalltalk loadPackage: 'jv:vdb'.
d98c11f9a7f5 Move `VDBStartup` from `jv:vdb/application` to `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    59
VDBStartup main.
d98c11f9a7f5 Move `VDBStartup` from `jv:vdb/application` to `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    60
"or"
d98c11f9a7f5 Move `VDBStartup` from `jv:vdb/application` to `jv:vdb`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 103
diff changeset
    61
VDBStartup main: #('--help')
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
142
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    64
## Documentation
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    65
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
    66
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
    67
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
## Reporting issues
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
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
    71
to login using your Google account in order to submit an issue). Alternatively,
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
send a message to [Smalltalk/X mailing list][8]. 
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
## Author
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
Jan Vrany `<jan.vrany [at] fit.cvut.cz>`
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
## License
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
![CC-BY-NC](https://i.creativecommons.org/l/by-nc/4.0/88x31.png)
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
This software is licensed under [Creative Commons Attribution-NonCommercial 4.0 International License][1]. You may find a full license text in `LICENSE.txt`.
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
In short, you are free to:
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
* **Share** — copy and redistribute the material in any medium or format,
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
* **Adapt** — remix, transform, and build upon the material,
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
under the following terms: 
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
* **Attribution** — You must give appropriate credit, provide a link to the license, and indicate if changes were made, 
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
* **NonCommercial** — You may not use the software for commercial purposes.
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
For permissions beyond the scope of this license please contact author at 
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
`<jan.vrany [at] fit.cvut.cz>`
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
[1]: http://creativecommons.org/licenses/by-nc/4.0/
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
[2]: https://www.gnu.org/software/gdb/
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
[3]: https://swing.fit.cvut.cz/projects/stx-jv
142
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   100
[4]: https://bitbucket.org/janvrany/binutils-gdb
103
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
[5]: https://swing.fit.cvut.cz/jenkins/job/stx_jv/lastSuccessfulBuild/
108
277fadaec466 Fix link in `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   102
[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
   103
[7]: https://swing.fit.cvut.cz/projects/stx-jv/newticket
df0374b41f76 Added `README.md`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
[8]: https://groups.google.com/forum/#!forum/stx-jv
142
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   105
[9]: https://bitbucket.org/janvrany/jv-libgdbs/src/tip/doc/GDB.md
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   106
[10]: doc/README.md
dae35d5b3d72 Added (some) documentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 108
diff changeset
   107
[11]: https://rr-project.org/