Giter Site home page Giter Site logo

cauder-v2's Introduction

CauDEr

A Causal-Consistent Reversible Debugger for Erlang

CauDEr screenshot

Dependencies

  • Erlang/OTP ≥ 23.0
  • Rebar3 (Optional)
  • Make

Building

You can use the following make tasks to build CauDEr:

  • Create escript: make (or make escriptize)
  • Compile only: make compile
  • Build documentation: make edoc
  • Run dialyzer: make dialyzer
  • Cleanup: make clean

Running

You can run CauDEr in multiple ways:

Using the Erlang shell

Using rebar3 shell will start a shell with all the required dependencies.

There are multiples ways to run CauDEr:

Like an escript

Calling the function cauder:main/0 will start CauDEr like the escript.

Eshell V11.0  (abort with ^G)
1> cauder:main().
ok

ℹ️ This function will wait for the GUI to close before returning, which means the shell will be blocked.

Like an application

Eshell V11.0  (abort with ^G)
1> application:start(wx), application:start(cauder).
ok

ℹ️ To stop CauDEr you can use application:stop(cauder), but it is not necessary if you just close the window.

Manually

Debugger only

To start the debugger only you can call the following function:

Eshell V11.0  (abort with ^G)
1> cauder:start(). % Starting the debugger
{ok,<0.80.0>}
Debugger and GUI

To start the debugger and the GUI you will need to call the following functions in order:

Eshell V11.0  (abort with ^G)
1> cauder:start(). % Starting the debugger
{ok,<0.80.0>}
2> cauder_wx:start(). % Starting the GUI
{ok,<0.82.0>,{wx_ref,35,wxFrame,<0.82.0>}}

⚠️ If you try to start the GUI without previously starting the debugger, it will fail with the following error: {error,{not_started,cauder}}

Using the escript

Simply run the cauder binary generated in the bin folder:

./bin/cauder

Usage

For more information about how to use CauDEr you can check the Wiki (Under construction!)

License

See LICENSE file.

cauder-v2's People

Contributors

baha avatar german-vidal avatar lanese avatar mdoriana avatar sackcastellon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.