README.md
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 13 Mar 2019 13:54:14 +0000
changeset 148 7d2d523173af
parent 142 dae35d5b3d72
child 204 fbf9eff7df60
permissions -rw-r--r--
Workaround: assume native target when issuing `run` or `attach` commands using simple console Background command execution is not supported by some targets, most notably by Windows native target. However, at the point we have to decided whether use background execution or not, we don't know which target will get connected and therefore we cannot check target features. So, make a guess and assime we gonna use native target. This is so bad, this *absolutely* has to be fixed somehow.
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/