Skip to content

Commit 0b728cf

Browse files
committed
Handle both 'run 100ps' and 'run 100 ps' formats
1 parent 6b08a9b commit 0b728cf

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/sst/core/impl/interactive/simpleDebug.cc

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,9 @@ SimpleDebugger::SimpleDebugger(Params& params) :
125125
"\t'watch' creates a default watchpoint that breaks into an interactive console when triggered\n"
126126
"\t'trace' creates a watchpoint with a trace buffer to trace a set of variables and trigger an <action>\n"
127127
"\tAvailable actions include: \n"
128-
"\t interactive, printTrace, checkpoint, set <var> <val>, printStatus, or shutdown" },
128+
"\t interactive, printTrace, checkpoint, set <var> <val>, printStatus, or shutdown"
129+
"\t Note: checkpoint action must be enabled at startup via the '--checkpoint-enable' command line option\n"
130+
},
129131
{ "watch", "<trigger>: adds watchpoint to the watchlist; breaks into interactive console when triggered\n"
130132
"\tExample: watch var1 > 90 && var2 < 100 || var3 changed" },
131133
{ "trace",
@@ -645,6 +647,22 @@ SimpleDebugger::cmd_run(std::vector<std::string>& tokens)
645647
return;
646648
}
647649
}
650+
else if (tokens.size() == 3) {
651+
std::string time = tokens[1] + tokens[2];
652+
try {
653+
TimeConverter* tc = getTimeConverter(time);
654+
std::string msg = format_string("Running clock %" PRI_SIMTIME " sim cycles", tc->getFactor());
655+
schedule_interactive(tc->getFactor(), msg);
656+
}
657+
catch (std::exception& e) {
658+
printf("Unknown time in call to run: %s\n", time.c_str());
659+
return;
660+
}
661+
662+
}
663+
else if (tokens.size() != 1) {
664+
printf("Too many arguments for 'run <time>'\n");
665+
}
648666

649667
done = true;
650668
return;

0 commit comments

Comments
 (0)