Debug and Log model

How to debug or log model

Debug model

To debug your model, you may use the debug option when you right click on an atomic model under GVLE.

Default, the debug file is located at $VLE_HOME/vle-2.0.log but it can be redirected to the standard output with the command line option --log-to- stdout or --log-to-stderr.

Log model

For example the following atomic model will show always the string “MyModel constructor” but show the string “time is odd” only when time is odd and VLE is launched with vle -v x with x equal 1, 2 or 3.

#include <vle/devs/Dynamics.hpp>
#include <vle/devs/DynamicsDbg.hpp>
#include <vle/utils/Debug.hpp>
#include <vle/utils/Trace.hpp>

class MyModel : public vle::devs::Dynamics
{
public:
    MyModel(const vle::devs::DynamicsInit& init
            const vle::devs::InitEvents& events)
        : vle::devs::Dynamics(init, events)
    {
        Trace(context(), 1, "MyModel constructor");
    }

    virtual void internalTransition(vle::devs::Time time)
    {
        if (static_cast<int>(time) % 2 == 0)
            Trace(context(), 7, "time is odd: %f", time);
    }
};
DECLARE_DYNAMICS(MyModel)