README.md
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 23 Jul 2019 14:53:07 +0100
changeset 181 d220862ec65f
parent 142 dae35d5b3d72
child 204 fbf9eff7df60
permissions -rw-r--r--
Remove launcher script on UNIX ...ie., `vdb` is the real executable, not just a script that launches it. Time have shown this laucnher script is not needed.

# Visual / VM Debugger

*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. 

## Features

  * integrated support for reverse-debugging,
  * source-and-assembly view with detailed instruction analysis (basic blocks, 
    jump targets and so on),
  * data structure inspector,
  * configurable memory view,
  * integrated *GDB* command line with completion (even on Windows!),
  * integrated support for reverse debugging using *GDB's* native reverse 
    debugging or [rr][11],
  * ability to run *GDB* remotely through SSH on a remote server or on a 
    development board

## Obligatory Screenshot

![Visual/VM Debugger](doc/vdb-001.png)

## Prerequisites

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].

## Building from Source

*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:

```
./build/stx/projects/smalltalk/smalltalk --load jv:vdb --run VDBStartup
```

Or evaluate following in a workspace: 

```
Smalltalk loadPackage: 'jv:vdb'.
VDBStartup main.
"or"
VDBStartup main: #('--help')
```

For more details, see [documentation][10], sections [Building from Source](Building.md)
and [Invoking and Configuring](Invoking.md).

## Pre-built binaries

Download and unpack latest [Smalltalk/X jv-branch toy archive][5]
and run run:

```
stx --load jv:vdb --run VDBStartup
```

Or evaluate following in a workspace: 

```
Smalltalk loadPackage: 'jv:vdb'.
VDBStartup main.
"or"
VDBStartup main: #('--help')
```

## Documentation

Some documentation can be found in [doc][10] directory, see [doc/README.md][10]

## Reporting issues

Use [Smalltalk/X jv-branch issue tracker][6] to [report issues][7] (you may need
to login using your Google account in order to submit an issue). Alternatively,
send a message to [Smalltalk/X mailing list][8]. 

## Author

Jan Vrany `<jan.vrany [at] fit.cvut.cz>`

## License

![CC-BY-NC](https://i.creativecommons.org/l/by-nc/4.0/88x31.png)

This software is licensed under [Creative Commons Attribution-NonCommercial 4.0 International License][1]. You may find a full license text in `LICENSE.txt`.

In short, you are free to:

* **Share** — copy and redistribute the material in any medium or format,
* **Adapt** — remix, transform, and build upon the material,

under the following terms: 

* **Attribution** — You must give appropriate credit, provide a link to the license, and indicate if changes were made, 
* **NonCommercial** — You may not use the software for commercial purposes.

For permissions beyond the scope of this license please contact author at 
`<jan.vrany [at] fit.cvut.cz>`

[1]: http://creativecommons.org/licenses/by-nc/4.0/
[2]: https://www.gnu.org/software/gdb/
[3]: https://swing.fit.cvut.cz/projects/stx-jv
[4]: https://bitbucket.org/janvrany/binutils-gdb
[5]: https://swing.fit.cvut.cz/jenkins/job/stx_jv/lastSuccessfulBuild/
[6]: https://swing.fit.cvut.cz/projects/stx-jv/wiki/Documentation/BuildingStXWithRakefiles
[7]: https://swing.fit.cvut.cz/projects/stx-jv/newticket
[8]: https://groups.google.com/forum/#!forum/stx-jv
[9]: https://bitbucket.org/janvrany/jv-libgdbs/src/tip/doc/GDB.md
[10]: doc/README.md
[11]: https://rr-project.org/