X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b0b20786751d59b46c18bc23416b45e3fa0167ba..10be64001fd1456d256c9a64b03fa2f57b4a0bed:/src/simix/smx_global.cpp diff --git a/src/simix/smx_global.cpp b/src/simix/smx_global.cpp index 37ebaba05e..683ed17858 100644 --- a/src/simix/smx_global.cpp +++ b/src/simix/smx_global.cpp @@ -158,6 +158,8 @@ namespace simix { simgrid::xbt::signal onDeadlock; +simgrid::config::Flag breakpoint{"simix/breakpoint", + "When non-negative, raise a SIGTRAP after given (simulated) time", -1.0}; } } @@ -395,6 +397,12 @@ void SIMIX_run() do { XBT_DEBUG("New Schedule Round; size(queue)=%zu", simix_global->process_to_run.size()); + if (simgrid::simix::breakpoint >= 0.0 && time >= simgrid::simix::breakpoint) { + XBT_DEBUG("Breakpoint reached (%g)", simgrid::simix::breakpoint.get()); + simgrid::simix::breakpoint = -1.0; + raise(SIGTRAP); + } + SIMIX_execute_tasks(); while (not simix_global->process_to_run.empty()) {